如果使用 awk 命令行具有相同的值,如何删除 csv 中的多列

如果使用 awk 命令行具有相同的值,如何删除 csv 中的多列

我有这样的输出

4567,4567
5436,5436
1234,5678

预期输出:

1234,5678

尝试了下面的命令,但它删除的是列而不是行

awk -F, 'NF==2{NF-=1}NF<1{sub(/",.*/,"\"")}1' OFS=,

感谢您的帮助和建议

答案1

那这个呢

awk -F, '$1 != $2'

这是通过比较前两个逗号分隔的字段来实现的。如果没有提供显式语句,则每个awk 语句都有一个隐式语句,这就是这里使用的。{ print }结果是仅当两个字段不匹配时才打印输入行。

答案2

这是我的建议sed

sed '/^\(.*\),\1$/d' file

输出:

1234,5678

相关内容