Параллельно XARGS, GREP и GNU - PullRequest
       27

Параллельно XARGS, GREP и GNU

4 голосов
/ 20 марта 2012

Будучи новичком в 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?

Спасибо

1 Ответ

3 голосов
/ 21 марта 2012
cat filepaths | parallel -j 30 grep -Pl '\d+,\d+,\d+,\d+' {} > FoundPatternsInFile.out

В этом случае вы даже можете пропустить {}.

...