linux – XARGS,GREP和GNU并行

作为一个Linux新手,我很难搞清楚文本搜索的一些基本方面.

我想要完成的事情如下:
我有一个文件,其中包含特定路径的绝对路径列表.

>我想通过这个文件列表和grep查找特定模式
>如果在该文件中找到模式,我想将其重定向到不同的输出文件.
>由于这些文件分布在NFS上,我想使用GNU parallel加速查找.

那么……我做的是如下:

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

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

上一篇:汉诺塔-Hanoi


下一篇:linux – 在xargs中使用反引号的Bash命令