使用diff命令

时间:2015-10-20 10:42:50

标签: linux csv diff

我尝试使用以下命令比较两个csv文件。

diff --changed-group-format='%>' --unchanged-group-format='' test2.csv test.csv >> testfile3.csv

但我需要使用diff命令比较两个csv文件的特定列,并获得不同的值。

例如:

file 1
1|9865|0|21
2|5698|0|22
3|2546|0|90

file2
1|9865|0|34
2|1452|9|33
3|2546|0|50

expected output:
2|5698|0|22

给我你宝贵的建议/想法。

1 个答案:

答案 0 :(得分:0)

diff程序无法执行此操作,因为它只比较整行。您可以使用工具构建一个可以执行此操作的工具。其他人提出了类似的问题,例如,

前两个建议使用awk,而第三个建议使用perl包。 awk的两个建议实际上是针对 compare 而不是 diff ,相应地简化了。如果您不需要担心添加/删除的行,那么这些方法就足够了。

perl package suggestion指出了如何构造,它可以用来唯一地标识css文件中(自己的情况)字段中的值。在您的应用程序中,您将提取列值,例如,使用Text::CSV

相关问题