Skip to content

Files

Latest commit

5bb22a6 · Apr 10, 2015

History

History

ValidPhoneNumbers

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Apr 10, 2015
Apr 10, 2015
Apr 10, 2015

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