gpt4 book ai didi

bash - 如何比较两个txt文件的部分行?

转载 作者:行者123 更新时间:2023-11-29 09:27:03 24 4
gpt4 key购买 nike

我得到了两个 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/

24 4 0
文章推荐: bash - "shopt -s lastpipe"有效率吗?
文章推荐: java - 如何将 List 转换为 List