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-7890Your script should output the following valid phone numbers:
987-123-4567 (123) 456-7890
匹配形如(xxx) xxx-xxxx or xxx-xxx-xxxx的模式
主要用grep(基本正则表达式和扩展的正则表达式)
第一种,用基本正则表达式
grep "^\(([0-9]\{3\}) \|[0-9]\{3\}-\)[0-9]\{3\}-[0-9]\{4\}$" file.txt
第二种,用扩展的正则表达式
grep -E "^(\([0-9]{3}\)\s|[0-9]{3}-)[0-9]{3}-[0-9]{4}$" file.txt
本文介绍了一种使用Bash脚本结合grep命令来验证文本文件中电话号码格式的方法。脚本能够从文本文件中筛选出符合特定格式的电话号码,支持两种常见格式:(xxx)xxx-xxxx 或 xxx-xxx-xxxx。

1744

被折叠的 条评论
为什么被折叠?



