unix - por - Cómo obtener una lista de nombres de archivos en diferentes líneas
crear carpeta en linux consola (9)
Quiero obtener una lista de todos los archivos en un directorio, como con ls
, para que cada nombre de archivo esté en una línea separada, sin los detalles adicionales proporcionados por ls -l
. Miré ls --help
y no encontré una solución. Intenté hacer
ls -l | cut --fields=9 -d" "
pero ls
no usa un número fijo de espacios entre columnas. ¿Alguna idea sobre cómo hacer esto, preferiblemente en una línea?
Esto también hará
ls -l | awk ''{print $NF}''
Prueba esto:
$ ls | xargs -n num
Aquí num
es el número de columnas en el que desea mostrar la lista.
Quizás:
ls | awk ''{print $NF}''
Use el comando sed para listar columnas individuales
ls -l | sed ''s//(^[^0-9]./*[0-9]/*:[0-9]/*/) /(.*/)//2/''
primero puedes usar esto. mostrará un archivo por línea.
ls -l | sed ''s /(.*) (. *) $ / / 2 /''
o si no puedes usarlo así
encontrar . -maxdepth 1 | sed ''s /.///''
ambas cosas son iguales.
solución sin pipe -ing :-)
ls --format single-column
Tenga en cuenta que las opciones largas solo se admiten en los coreutils de GNU, donde BSD ls solo admite los argumentos cortos -1
ls -1
. De la ayuda:
-1 lista un archivo por línea
Funciona en cygwin y FreeBSD, por lo que probablemente no sea demasiado específico de GNU.
ls -1
Ese es un número, no pequeño L
ls | cat
ls | cat
... o posiblemente, ls -1