【发布时间】:2016-09-16 01:32:59
【问题描述】:
我有两个文件 A.txt 和 B.txt 分别包含两个列表,如下所示。
文件 A.txt
hello
hi
ko
文件 B.txt
fine
No
And how
why
现在我想检查在另一个文件 C.txt 的一行中是否存在任何这些单词(来自 A.txt 和 B.txt)。
我正在使用 grep 命令
grep -iof A.txt C.txt| grep B.txt
C.txt 包含包含 A.txt 和 B.txt 中单词的句子
Hello I am fine
I am not fine
why ko is and how?
不显示任何输出
所以,现在我想如果 A.txt 和 B.txt 中的任何单词同时出现在一个句子中,它应该将输出显示为
Hello fine
why ko and how
如果两个文件同时出现在 C.txt 中,则只打印匹配的单词,而不是打印 C.txt 中的整行
【问题讨论】:
-
您说存在其中一个这些词。我不确定我是否理解 either 在这种情况下。你的意思是存在任何这些词,不是吗? IE。您想知道 C.txt 中是否有一行包含来自 A.txt 或来自 B.txt 的单词。对吗?
-
我刚刚编辑了这个问题。我的意思是 A.txt 和 B.txt 中的任何这些词在 C.txt 中同时出现
-
在这种情况下,我不太明白您 simultaneously 是什么意思,但是既然您已经接受了答案,我想这就是您要找的。 ;-)
标签: regex shell scripting grep