我有一个按行排序的单词列表,如下所示:
apple
apple
grapes
lime
orange
orange
pear
pear
peach
strawberry
strawberry
我只想打印出唯一的行并删除重复项:
grapes
peach
lime
我怎样才能用sed
, awk
or做到这一点perl
?
答案1
这就是工作独特的:
$ LC_ALL=C uniq -u file
grapes
lime
peach
如果您想要其他工具,例如perl
:
perl -nle '$h{$_}++; END {print for grep { $h{$_} == 1 } %h}' <file
答案2
awk '{arr[$1]++} END {for (i in arr) {if (arr[i]==1) {print i} }}' 1
grapes
lime
peach
答案3
试试这个 AWK!
awk '{a[$0]++} END {for (x in a) if (a[x] == 1) print x}'