用awk筛选掉指定行
时间: 2023-06-29 20:20:17 浏览: 61
可以使用 awk 命令来筛选指定的行。以下是一个简单的示例,演示如何使用 awk 命令从一个文件中筛选掉指定的行:
假设我们有一个名为 file.txt 的文件,其中包含以下内容:
```
Line 1
Line 2
Line 3
Line 4
Line 5
```
如果我们想要筛选掉第三行,可以使用以下命令:
```
awk 'NR!=3' file.txt
```
这个命令使用了 awk 的 NR 变量,该变量表示当前正在处理的行号。通过将条件设置为 'NR!=3',我们可以告诉 awk 只输出行号不等于 3 的行。因此,这个命令的输出将是:
```
Line 1
Line 2
Line 4
Line 5
```
你可以根据自己的需要修改条件,以便筛选出你想要的行。
相关问题
用awk筛选掉指定行,并打印第一列
可以使用以下命令,在 awk 中同时筛选掉指定行并打印第一列:
```
awk 'NR!=3 {print $1}' file.txt
```
这个命令与上一个命令非常相似,只是添加了一个 {print $1} 的部分。这个部分告诉 awk 打印每一行的第一列。
因此,这个命令将从 file.txt 文件中筛选掉第三行,并打印每一行的第一列。输出将是:
```
Line
Line
Line
Line
```
如果你不想打印第一列,只需要将命令中的 {print $1} 部分删除即可。
awk -F筛选特定一行用:分割
如果你想用 awk 命令来筛选特定一行,可以使用 -F 参数来指定分割符。例如,如果你的数据是以冒号分隔的,你可以使用以下命令来筛选出第三行:
```bash
awk -F: 'NR==3' data.txt
```
其中,-F 参数指定了分割符为冒号,NR==3 表示只处理第三行。这样,你就可以得到 data.txt 文件中第三行的数据。如果你想要根据条件筛选出特定的行,可以使用类似以下的命令:
```bash
awk -F: '$1 == "John"' data.txt
```
这样,你就可以得到 data.txt 文件中第一个字段为 "John" 的行的数据。其中,$1 表示第一个字段,== 表示等于,"John" 是要匹配的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)