我有一个看起来像这种格式的 CSV 文件:
text1,text2,string1,string2
text3,text3,string3,string2
text4,text5,string1,string2
text6,text6,string6,string7
我想在 column1 和 column2 不相等时提取行。上述示例中的预期结果将是:
text1,text2,string1,string2
text4,text5,string1,string2
当 column1 和 column2 不相等时。我熟悉允许我提取特定列的命令,如下所示以提取第一列:
cat input.csv | cut -d ',' -f1 > output.csv
假设这是一个简单的 CSV文件,在实际数据的字段中没有任何花哨的逗号或换行符嵌入,您可以
awk
这样做:这是一种简写方式
如果第一个和第二个字段(
$1
和$2
)不相同,它将输入字段分隔符设置为逗号并打印每一行。等效的 Perl 变体:
GNU
sed
解决方案:输出: