cat一个文件或标签和xargs grep文件中的标签

时间:2011-03-10 01:20:21

标签: linux grep xargs

我认为这只是一个简单的命令,但我根本无法找到解决方案

我想要一个带有标签的文件(由多行分隔)

File1中

  

aaa
bbb
ded

然后将那些TAGS(逐行)grep到一个文件,让我们称之为TargetFile

我所做的是以下内容:

cat File1 | xagrs grep {} TargetFile

它不会在TargetFile上执行grep。我该怎么办?

目前我正在使用mobaxterm

7 个答案:

答案 0 :(得分:3)

fgrep -f File1 TargetFile

另请注意,没有无用的猫。

答案 1 :(得分:1)

通常不止一种方法:

xargs -n 1 grep Targetfile -e < File

答案 2 :(得分:1)

cat File1 | xargs -I {} grep {} TargetFile

答案 3 :(得分:0)

根据文件的大小,这将更快地运行:

cat File1 | parallel -j0 grep {} TargetFile

如果File1中的标记数小于您可以并行运行的进程数,则只能从磁盘读取一次TargetFile。如果TargetFile大于您的磁盘缓存,这可能是一个好主意。

要了解有关GNU Parallel的更多信息,请参阅介绍视频:http://www.youtube.com/watch?v=OpaiGYxkSuQ

答案 4 :(得分:0)

cat File1 | xagrs -i grep {} TargetFile

答案 5 :(得分:-1)

我想我在其他论坛搜索后找到了答案

> for i in `cat File1` ; do grep $i TargetFile; done

答案 6 :(得分:-1)

cat File1 | while read tag; do grep $tag TargetFile; done
相关问题