题意:
给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,
写一个单行 bash 脚本输出所有有效的电话号码。
你可以假设一个有效的电话号码必须满足以下两种格式:
(xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)
你也可以假设每行前后没有多余的空格字符。
code:
# Read from the file file.txt and output all valid phone numbers to stdout.
#解法1
#grep -P '正则表达式' 文件路径
#grep -P '^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$' file.txt
#解法2
#对awk而言,正则表达式是位于两个正斜杆之间的字符串
#awk '/正则表达式/' 文件路径
awk '/^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$/' file.txt