GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué xargs -L produce el formato correcto, mientras que xargs -n no?

-L divisiones por líneas; echo no separa su salida por líneas sino por espacios, por lo que un solo ls -l se ejecuta y formatea todas las columnas como un grupo.

-n divisiones por parámetros; en ausencia de -L o -0 , el separador es un espacio en blanco (posiblemente modificado por comillas), por lo que cada nombre de archivo tiene su propio ls -l ejecutar y no hay forma de que las ejecuciones independientes coordinen los anchos de columna.


El estándar POSIX exige:

-L número

La utilidad se ejecutará para cada number no vacío líneas de argumentos de la entrada estándar. La última invocación de utilidad será con menos líneas de argumentos si quedan menos de un número. Una línea se considera que termina con el primero a menos que el último carácter de la línea sea un <blank>; un <blank> final señala la continuación a la siguiente línea no vacía, inclusive.

-n número

Invoque la utilidad usando tantos argumentos de entrada estándar como sea posible, hasta número (un entero decimal positivo) máximo de argumentos.

(Énfasis agregado). Desde echo * produce una sola línea, xargs -L 1 simplemente alimenta todos los nombres de archivo a ls a la vez, y solo entonces podrá ls alinee bien las columnas.

(En otras palabras, su primer comando es equivalente a ls -l index.html* , excepto que no maneja correctamente los nombres de archivo que contienen espacios en blanco.)


Linux
  1. Por qué 'sshpass' no es la forma correcta de automatizar las transferencias de archivos en Linux

  2. ¿Por qué la expresión regular funciona en X pero no en Y?

  3. ¿Por qué Bashrc comprueba si el shell actual es interactivo?

  4. ¿Por qué `md5sum` no da el mismo hash que Internet?

  5. Al usar Vlc, ¿por qué el protector de pantalla sigue activándose?

¿Por qué el usuario raíz necesita permiso de Sudo?

¿Por qué se congela el pc mientras copio un archivo a un pendrive?

¿Por qué el medidor Htop muestra>90 % mientras que la tabla es 0,0 %?

¿Por qué nadie usa The True Bourne Shell como /bin/sh?

¿Por qué Atlantic.Net es la opción correcta sobre otros proveedores de nube? Parte 1 de 3

¿Por qué rsync sobre SSH me da 10 veces el rendimiento de SCP?