use*_*703 2 unix bash shell awk sh
如何在忽略空行的同时从txt文件中"删除"重复的行?而不是删除我想//在行中添加(注释)的前缀.
我从搜索中发现,此命令awk ' !x[$0]++'将删除文件中的所有重复行以及空行.awk如果可能,修改该命令将是很好的.
原始输入:
foo
bar
cat
dog
turtle
cat
bar
lion
bear
bird
fish
cat
Run Code Online (Sandbox Code Playgroud)
输出:
foo
bar
cat
dog
turtle
// cat
// bar
lion
bear
bird
// lion
bird
Run Code Online (Sandbox Code Playgroud)
只需要忽略空白换行符
这是一种使用方式awk:
$ awk 'NF{x[$0]++; print (x[$0]>1?"//"$0:$0); next}1' file
foo
bar
cat
dog
turtle
//cat
//bar
lion
bear
bird
fish
//cat
Run Code Online (Sandbox Code Playgroud)
NF告诉awk只对非空行执行操作.我们将x存储每一行的数组增加为关键.//如果计数大于1,我们打印带前缀的行,否则我们只按原样打印该行.1允许我们保留空白行.
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |