作为一个 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
在这种情况下,您甚至可以省略 {}。
关于linux - XARGS、GREP 和 GNU 并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9790570/