作为一个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
在这种情况下,您甚至可以省略{}.