如果使用 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

相關內容