GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo evitar que `ls` ordene la salida?

Tengo un orden específico de archivos que quiero enumerar si existen; alrededor de 40 archivos. Algún tipo de precedencia. Así que probé:

ls -1d         /opt/foo/lib.jar /opt/bar/lib.jar

Esperaba que esto incluyera /opt/foo/lib.jar primero si ambos existen.
Pero en realidad imprime la bar primero y el foo después de eso.

¿Hay alguna forma de hacer ls enumerar las entradas en el orden dado en los parámetros?
O algún enfoque alternativo con find ?

Respuesta aceptada:

Con GNU ls , podrías probar el -U opción:

-U :no ordenar; lista de entradas en orden de directorio

(aunque aquí no enumeramos el contenido de los directorios, por lo que la parte que importa es no ordenar ).

$ ls -1dU /opt/foo/lib.jar /opt/bar/lib.jar
/opt/foo/lib.jar
/opt/bar/lib.jar

Ligeramente más portátil (funciona con GNU y FreeBSD ls , pero no con ls tradicional implementaciones y tampoco es POSIX), puede usar ls -1df :

$ ls -1df /opt/foo/lib.jar /opt/bar/lib.jar
/opt/foo/lib.jar
/opt/bar/lib.jar

Linux
  1. Cómo buscar en la web desde la terminal en Linux

  2. ¿Cómo detectar si el Shell está controlado desde Ssh?

  3. ¿Cómo suprimir la salida de Grep, para que solo devuelva el estado de salida?

  4. ¿Cómo establecer una variable igual a la salida de un comando en Grub2?

  5. ¿Cómo extraer el tiempo de duración de la salida ffmpeg?

¿Cómo quitar el Bom de un archivo Utf-8?

¿Cómo recuperar solo la línea necesaria de la salida del terminal?

¿Cómo evitar que los usuarios accedan al directorio raíz?

Crontab Log:cómo registrar la salida de mi secuencia de comandos Cron

¿Cómo agregar la salida a un archivo?

Cómo evitar que un proceso escriba archivos