【发布时间】:2019-06-19 05:39:52
【问题描述】:
我有两个文件,两列用空格隔开
cat file1.txt
281475225437349 33,32,21,17,20,22,18,30,19,16,23,31
281475550885480 35,32,33,21,39,40,57,36,41,17,20,38,34,37,16,99
cat file2.txt
281475550885480 16,17,20,21,32,33,34,35,36,37,38,39,40,41
281475225437349 16,17,18,19,20,21,22,23,24,25,30,31,32,33
我想比较 file1 column2 和 file2 column2 中的值,以获得 column1 中的相同值。 并只打印那些确实存在于file1 column2中但不存在于file2 column2中的值,反之亦然,以及column1中的相应值
所需的o/p
它不应该为 281475225437349 打印任何内容,因为 file1 列 2 中的所有值都存在于 281475225437349 的 file2 列 2 中
它应该只打印 281475550885480 的值,这些值存在于 file1 column2 但不存在于 file2 column2 中。 281475550885480 的类似值 57 和 99
所以像这样的o/p文件:
cat output.txt
281475550885480 57,99
我曾尝试使用 sdiff 对文件进行排序和比较,但它会产生差异并且需要时间
sdiff file1.txt file2.txt
【问题讨论】:
-
我在您的帖子中添加了一些格式以便于理解。但那里似乎有一些重复。请您检查并删除所有重复的文本。
-
欢迎来到 SO @Jeevan Patil,您的问题不清楚。请务必提及 3 个简单的事情,1- 输入样本,2- 输出样本和第 3- 任何您尝试在代码标签
{}按钮中修复它的内容,然后让我们知道。 -
嗨。谢谢你的建议。我对其进行了编辑并删除了重复的语句
标签: perl sorting awk sed sdiff