GNU/Linux >> Tutoriales Linux >  >> Linux

ejecutando un comando contra cada línea en un archivo de texto

Entonces, tienes un archivo de texto como este:

file1
file2
..

Y desea ejecutar un comando en cada línea del archivo (por ejemplo, chmod 644). Como todas las cosas de UNIX, hay más de una manera de hacer las cosas, pero aquí está la respuesta rápida y sucia:

xargs -0 -n 1 chmod 644 < <(tr \\n \\0 <filelist.txt)

Entonces, esto ejecutará xargs en el estándar. input (filelist.txt).
-n es argumentos máximos; en este caso, tenemos 1 argumento. (la lista de archivos en el archivo, por línea).
-0 significa que las líneas de entrada terminan con un carácter nulo, no con un espacio en blanco, para mantener las cosas ordenadas.
Finalmente, ejecutamos tr, que elimina caracteres, en este caso eliminando las líneas nuevas y los espacios en blanco.


Linux
  1. ¿Cómo matar la línea de comando de Chromium sobre Ssh?

  2. ¿Cómo analizar cada línea de un archivo de texto como un argumento para un comando?

  3. ¿Ejecutando Software-center desde la línea de comandos como root?

  4. Ver archivo tabular como CSV desde la línea de comando

  5. Importación de PostgreSQL CSV desde la línea de comando

Comando Diff en Linux con ejemplos

Copie un archivo a varios directorios desde la línea de comandos en Linux

Ver el contenido de un archivo en la línea de comandos de Linux

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux

¿Es posible con Gedit o la línea de comandos modificar cada cuarta línea de un archivo de texto?

5 comandos para ver el contenido de un archivo en la línea de comandos de Linux