在一个文件中查找单词并在另一个文件中获取它们所在的行:Bash脚本

时间:2013-02-22 14:44:38

标签: linux bash file grep

我试图将文件中与所有文字相对应的文件中的所有行与其他文件中的文字对应,然后制作第三个新文件。 例如:

File 1
rs2132k34hh
rs234hk5kk4
rsklhh32432

File 2
Info   more info   otherstuff     rs2132k34hh somethings
Info   more info   otherstuff    rs234hk5kk4  somethings
Info   more info   otherstuff     rsklhh32432 somethings
Info   more info   otherstuff    rs234hk5kk4  somethings

我认为它会成为

的一部分
 egrep -l "(\s(rs\S+))" /filethatIamsearching.txt > newfile.txt

从文件中搜索rs并发送到新文件

但我知道这不是命令中的所有内容。 有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

grep -F -f file1 file2 >newfile.txt

答案 1 :(得分:0)

尝试:

grep -wf file1 file2 > file3

您可以使用grep选项告诉-f从文件中读取模式。您也可以使用-w选项仅搜索整个单词。