我有一个包含4列的文件:
ifile.txt
3 5 2 2
1 4 2 1
4 5 7 2
5 5 7 1
0 0 1 1
我想删除第2列和第2列的重复行。 3是相同的。例如,第3行和第3行在图2中,第4列具有相同的值。所以我想保留第3行并删除第4行。我的输出是:
ofile.txt
3 5 2 2
1 4 2 1
4 5 7 2
0 0 1 1
答案 0 :(得分:2)
awk 'NR==FNR{a[$2,$3]++;next}a[$2,$3]==1' file file
3 5 2 2
1 4 2 1
0 0 1 1
GNU awk
答案 1 :(得分:1)
awk '{a[NR]=$2""$3} a[NR]!=a[NR-1]{print}' file
将$2
和$3
值保存到索引为a
的数组NR
。然后,如果当前行和上一行中a
的值与打印行不匹配,则忽略。