Linux用awk和grep写出一个命令,该命令要找出数字长度不是10位数的电话号码,并打印出错误的手机号码
时间: 2024-02-29 10:52:33 浏览: 139
检测手机号码是否正确源代码
5星 · 资源好评率100%
可以使用以下命令:
```
grep -Eo '\b[0-9]{1,9}\b|\b[0-9]{11,}\b' file.txt | awk '{print}'
```
其中,`file.txt` 是包含电话号码的文件名,可以替换为相应的文件名。
命令解释:
- `grep -Eo '\b[0-9]{1,9}\b|\b[0-9]{11,}\b' file.txt` 用于在文件中查找符合条件的电话号码,其中:
- `-E` 表示启用正则表达式匹配;
- `-o` 表示只输出匹配的部分;
- `'\b[0-9]{1,9}\b|\b[0-9]{11,}\b'` 是一个正则表达式,用于匹配不是10位数的电话号码。其中 `\b` 表示单词边界, `[0-9]{1,9}` 表示匹配1到9位数的数字,`|` 表示或, `[0-9]{11,}` 表示匹配11位及以上的数字。
- `awk '{print}'` 用于将输出结果打印出来。
执行该命令后,会输出长度不是10位的电话号码。
阅读全文