我得到了两个 txt 文件,每个文件的信息都排列在由制表符分隔的几列中。我想要做的是在两个文件中查找这些列之一匹配的行。 --不是整行,只有它们的第一列部分应该相同。我如何在 bash 脚本中执行此操作?
我试过使用 grep -Fwf
。
这就是文件的样子
aaaa bbbb
cccc dddd
和
aaaa eeee
ffff gggg
我想要得到的输出是这样的:
bbbb and eeee match
我真的还没有找到同时进行逐行比较和单词比较的命令。 很抱歉没有提供我自己的任何代码,我是编程新手,到目前为止还想不出任何合理的东西。提前致谢!
最佳答案
你见过加入命令吗?这与 sort 结合可能是您正在寻找的东西。 https://shapeshed.com/unix-join/
例如:
$ cat a
aaaa bbbb
cccc dddd
$ cat b
aaaa eeee
ffff gggg
$ join a b
aaaa bbbb eeee
如果第一列中的值未排序,则必须先对它们进行排序,否则连接将不起作用。
join <(sort a) <(sort b)
亲切的问候 奥利弗
关于bash - 如何比较两个txt文件的部分行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54485639/