Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想根据仅出现一次的特定列中的值打印行。在下面的示例中,val2 和 val3 只出现一次。
输入
val1,1 val2,2 val1,3 val3,4
输出
val2,2 val3,4
uniq -u似乎没有指定列的选项。我也试过sort -t, -k1,1 -u,但每行打印一次。
uniq -u
sort -t, -k1,1 -u
awk -F, '{c[$1]++; t[$1]=$0} END {for(k in c) {if (c[k]==1) print t[k]}}'
听起来像是 awk 的问题,假设产生的命令
val1,1 val2,2 val1,3 val3,2
被调用foo,然后像这样将其通过管道传输到 awk 中:
foo
foo | awk -F, '$2 == 2 {print}'