Linux用awk和grep写出一个命令,该命令要找出数字长度不是10位数的电话号码,并打印出错误的手机号码
时间: 2024-02-29 19:52:33 浏览: 25
可以使用以下命令:
```
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位的电话号码。
相关问题
Linux用awk和grep写出一个命令,该命令要找出最后一项数字长度不是10位数的电话号码
可以使用以下命令来实现:
```
grep -Eo '^[0-9]+( [0-9]+)+' file.txt | awk '{if (length($NF) != 10) print}'
```
其中,`grep -Eo '^[0-9]+( [0-9]+)+' file.txt` 用于匹配文件中以数字开头,后面跟着一或多个由空格分隔的数字的行。然后,`awk '{if (length($NF) != 10) print}'` 用于筛选出最后一项数字长度不为10位数的行,然后打印出整行。`$NF` 表示最后一项。
Linux用awk和grep写出一个命令,该命令要找出最后一项数字长度不是10位数的电话号码,并将错误的手机号码打印出来
可以使用 awk 和 grep 的组合来实现该命令,具体命令如下:
```bash
grep -Eo '^[^ ]+ [^ ]+ .* [^ ]{1,9}$' annuaire_sed.txt | awk '{print $NF, $0}' | sort -n | cut -d' ' -f2-
```
解释如下:
1. `grep -Eo '^[^ ]+ [^ ]+ .* [^ ]{1,9}$' annuaire_sed.txt`:使用 grep 命令查找最后一项数字长度不是10位数的电话号码,其中:
- `-E` 表示使用正则表达式;
- `-o` 表示只输出匹配到的部分;
- `'^[^ ]+ [^ ]+ .* [^ ]{1,9}$'` 表示匹配四列数据中最后一列长度为 1 到 9 的行;
- `annuaire_sed.txt` 表示要查找的文件名。
2. `awk '{print $NF, $0}'`:使用 awk 命令将文件中每行的最后一列和整行打印出来,其中:
- `$NF` 表示最后一列;
- `$0` 表示整个行。
3. `sort -n`:使用 sort 命令将最后一列的数字进行排序,其中 `-n` 表示按照数字大小排序。
4. `cut -d' ' -f2-`:使用 cut 命令将每行中第一个空格之后的内容打印出来,其中:
- `-d' '` 表示使用空格作为分隔符;
- `-f2-` 表示从第二个字段开始打印,直到最后一个字段。
这个命令会打印出最后一项数字长度不是10位数的电话号码,如果文件 annuaire_sed.txt 中有一行数据为 "张三 李四 010-1234567 123",则会输出:"123 张三 李四 010-1234567 123"。
相关推荐
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)