XARGS, GREP and GNU parallel



作为一名linux新手,我很难理解文本搜索的一些基本方面。

我想要实现的目标如下:我有一个文件,其中有一个特定路径的绝对路径列表。

  1. 我想浏览一下这个文件列表和特定模式的grep
  2. 如果在该文件中找到该模式,我希望将其重定向到另一个输出文件
  3. 由于这些文件分布在NFS上,我希望使用GNU并行加速查找

所以。。我所做的如下:

cat filepaths|xargs -iSomePath echo grep -Pl 'd+,d+,d+,d+' "SomePath"> FoundPatternsInFile.out| parallel -v -j 30

当我运行这个命令时,我会重复出现以下错误:

grep: "/path/to/file/name": No such file or directory

文件和路径存在。有人能指出我在xargs和grep方面可能做错了什么吗?

感谢

cat filepaths | parallel -j 30 grep -Pl 'd+,d+,d+,d+' {} > FoundPatternsInFile.out

在这种情况下,您甚至可以省略{}。

最新更新