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 de cómo hacer esto, preferiblemente en una línea?
ls -1
. De la ayuda:Funciona en cygwin y FreeBSD, por lo que probablemente no sea demasiado específico de GNU.
fuente
solución sin tubería :-)
Tenga en cuenta que las opciones largas solo son compatibles con las coreutils de GNU donde BSD ls solo admite los argumentos cortos
-1
fuente
Quizás:
fuente
ls | cat
... o posiblemente,ls -1
fuente
cat
no es inútil en este caso. Formatea la salida dels
en una columna como OP lo solicita.Use el comando sed para listar columnas individuales
fuente
ls -l
produce el mismo resultado que toda su respuesta. No estoy seguro de lo quesed
está agregando aquí ...Prueba esto:
Aquí
num
está la cantidad de columnas que desea incluir.fuente
primero puedes usar esto. mostrará un archivo por línea.
ls -l | sed 's /(.*) (. *) $ / \ 2 /'
o de lo contrario puedes usar así
encontrar . -maxdepth 1 | sed 's /.///'
ambas cosas son iguales.
fuente
sed: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
Esto también servirá
fuente
Esto también funciona: echo -e "\ n $ (ls)"
fuente