/ / XARGS, GREP y GNU paralelos - linux, grep, procesamiento en paralelo, xargs, redireccionamiento io

XARGS, GREP y GNU parallel - linux, grep, parallel-processing, xargs, io-redirection

Al ser un novato de linux, estoy teniendo problemas para entender algunos de los aspectos elementales de la búsqueda de texto.

Lo que quiero lograr es lo siguiente: Tengo un archivo con una lista de rutas absolutas a una ruta particular.

  1. Quiero revisar esta lista de archivos y grep para un patrón particular
  2. Si el patrón se encuentra en ese archivo, me gustaría redirigirlo a un archivo de salida diferente.
  3. Dado que estos archivos están distribuidos en el NFS, me gustaría acelerar la búsqueda utilizando GNU en paralelo.

Entonces ... lo que hice fue como sigue:

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

Cuando ejecuto este comando, recibo repetidamente el siguiente error:

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

El archivo y la ruta existen. ¿Alguien puede señalar qué podría estar haciendo mal con xargs y grep?

Gracias

Respuestas

3 para la respuesta № 1
cat filepaths | parallel -j 30 grep -Pl "d+,d+,d+,d+" {} > FoundPatternsInFile.out

En este caso incluso puedes dejar de lado {}.