5
Quiero ser capaz de tomar los archivos que encontré con mi primera declaración grep, algo como esto por ejemplo: grep -r Makefile * Y luego pasar los archivos encontrados en ese pase de grep a un segundo grep con algo como esto por ejemplo: grep {archivos} '-lfoo'¿Cómo paso los archivos resultantes de un pase grep a otro para que solo pase por el subconjunto con la segunda pasada?
¿Cómo hago esto? Sé que debe haber una manera.
Gracias.
Recomendaría: 'grep -l firstmatch | xargs grep - secondmatch'. Esto hará que grep se invoque el menor número de veces posible. También sin el '-I {}' (o ahora obsoleto -i) las llaves no serán interpretadas. Además, su comando hace que grep se ejecute para cada archivo encontrado por la primera invocación de grep y grep para '{}' (o su sustitución dependiendo de su variante grep). –
¿Qué quieres decir con xargs? – NSA
@NSA: 'xargs' es un comando. Lee su entrada estándar para una lista de argumentos (normalmente nombres de archivos), y luego los concatena con los argumentos del comando (en este caso 'grep {} secondmatch'' para crear comandos que se ejecutan. Para más información, RTFM –