Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
README.md
file.txt
validPhoneNumbers.sh

README.md

Valid Phone Numbers

Problem

Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bash script to print all valid phone numbers.

You may assume that a valid phone number must appear in one of the following two formats: (xxx) xxx-xxxx or xxx-xxx-xxxx. (x means a digit)

You may also assume each line in the text file must not contain leading or trailing white spaces.

For example, assume that file.txt has the following content:

987-123-4567
123 456 7890
(123) 456-7890

Your script should output the following valid phone numbers:

987-123-4567
(123) 456-7890

Solution

直接grep实现,使用-P选项,使用perl正则表达式。

Code

#!/bin/bash
grep -P '(^(\d{3}-){2}\d{4}$)|(^\(\d{3}\) \d{3}-\d{4}$)' file.txt
You can’t perform that action at this time.