我想根据特定列中仅出现一次的值打印行。在下面的示例中,val2和val3只出现一次。
输入
val1,1
val2,2
val1,3
val3,4
输出
val2,2
val3,4
uniq -u
似乎没有指定列的选项。我也试过了sort -t, -k1,1 -u
,但每次打印一次。
答案 0 :(得分:2)
awk -F, '{c[$1]++; t[$1]=$0} END {for(k in c) {if (c[k]==1) print t[k]}}'
答案 1 :(得分:1)
听起来像awk的问题,假设产生
的命令val1,1
val2,2
val1,3
val3,2
调用foo
,然后将其管道输入awk:
foo | awk -F, '$2 == 2 {print}'