shell如何去重输出某一列
时间: 2023-07-26 14:32:52 浏览: 109
shell脚本使用sort命令实现按文件某列排序输出
可以使用`awk`命令去重并输出某一列,具体命令如下:
```shell
awk '{if(!a[$1]) print $1; a[$1]=1}' filename
```
其中,`$1`表示要输出的列号,`filename`是要处理的文件名。
这个命令通过使用数组`a`来记录每个值是否已经出现过,如果某个值没有出现过,则打印该值,并设置数组`a`对应的值为1,表示该值已经出现过。这样就可以实现去重输出某一列的功能。
另外,如果你想对整个文件进行去重,不仅要输出某一列,还要去掉文件中所有重复的行,可以使用以下命令:
```shell
awk '!a[$0]++' filename
```
其中,`$0`表示整行文本,`filename`是要处理的文件名。这个命令会去掉文件中所有重复的行,并保留第一次出现的行。
阅读全文