我认为这只是一个简单的命令,但我根本无法找到解决方案
我想要一个带有标签的文件(由多行分隔)
File1中
aaa
bbb
ded
然后将那些TAGS(逐行)grep到一个文件,让我们称之为TargetFile
我所做的是以下内容:
cat File1 | xagrs grep {} TargetFile
它不会在TargetFile上执行grep。我该怎么办?
目前我正在使用mobaxterm
答案 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