String 使用grep提取文本文件中的字符串
我有file.txt,每行一个名称,如下所示:String 使用grep提取文本文件中的字符串,string,shell,grep,string-matching,String,Shell,Grep,String Matching,我有file.txt,每行一个名称,如下所示: ABCB8 ABCC12 ABCC3 ABCC4 AHR ALDH4A1 ALDH5A1 .... 我想从input.txt文件中对这些文件进行grep 我手动一次做一个 grep "ABCB8" input.txt > output.txt 是否有人可以帮助自动将file.txt中的所有字符串从input.txt grep并写入output.txt for line in `cat text.txt`; do grep $line in
ABCB8
ABCC12
ABCC3
ABCC4
AHR
ALDH4A1
ALDH5A1
....
我想从input.txt文件中对这些文件进行grep
我手动一次做一个
grep "ABCB8" input.txt > output.txt
是否有人可以帮助自动将file.txt中的所有字符串从input.txt grep并写入output.txt
for line in `cat text.txt`; do grep $line input.txt >> output.txt; done
text.txt的内容
:
ABCB8
ABCC12
ABCC3
ABCC4
AHR
ALDH4A1
ALDH5A1
ABCB8
ABCB8XY
ABCC12
编辑:
cat text.txt | while read line; do grep "\<${line}\>" input.txt >> output.txt; done
更安全的解决方案,同时阅读:
cat text.txt | while read line; do grep "$line" input.txt >> output.txt; done
编辑2:
cat text.txt | while read line; do grep "\<${line}\>" input.txt >> output.txt; done
示例text.txt
:
ABCB8
ABCC12
ABCC3
ABCC4
AHR
ALDH4A1
ALDH5A1
ABCB8
ABCB8XY
ABCC12
示例input.txt
:
ABCB8
ABCC12
ABCC3
ABCC4
AHR
ALDH4A1
ALDH5A1
ABCB8
ABCB8XY
ABCC12
你被雇来做一份工作;我们希望你能做到。
你被雇佣是因为ABCB8你真是太棒了;
我们希望你踢屁股。
ABCB8XY你之所以被录用,是因为你可以承诺遵守合理的期限并完成它;
ABCC12我们希望你也这样做。
你不需要一个中层经理来跟踪你的鼠标点击
如果您不关心行的顺序,那么快速的解决方法是通过排序| uniq
:
cat text.txt | while read line; do grep "$line" input.txt >> output.txt; done; cat output.txt | sort | uniq > output2.txt
结果随后出现在output.txt
中
编辑3:
cat text.txt | while read line; do grep "\<${line}\>" input.txt >> output.txt; done
cat text.txt |读取行时;执行grep“\”input.txt>>output.txt;完成
可以吗?您可以使用中所述的
-f
标志
旗帜
,-f FILE
:--FILE=FILE
,-o
:--仅匹配
for
循环不是用于此的正确工具,请阅读。Plusgrep
已经在输入文件上循环了。@EdouardLopez:我知道,但在这个简单的例子中这并不重要。无论如何,我从来没有在阅读时使用过任何trobles。你传播坏习惯,你而/for
是无用的,你试图模仿行为或grep
(循环文件的每一行)将它们传递给…grep
。请更清楚地说明你的方法:创建第二个包含模式列表的文件,将其用作grep
的输入。这也很尴尬,因为您的方法所基于的文件是@user1779730正在查找的结果。因此,您的解决方案基于自身(无限循环:S)@EdouardLopez:我认为grep的字符串是text.txt
中的字符串。正如我所理解的那样,OP需要一个循环。我从file.txt
中获得了带有突出显示行的input.txt
文件,尝试不使用>output.txt
。请注意,file.txt
包含模式列表,input.txt
是要查看的文件。