No está seguro acerca ls, pero se puede hacer fácilmente con el filecomando: file /directory/containing/the/files -maxdepth 1 -not -type d.
Henning Kockerbeck
1
Otra forma sería filtrar la salida de lsthrough grep, algo así ls -1F /directory/containing/the/files | grep -vE /$. Pero tenga en cuenta que analizar la salida de ls puede ser complicado .
Usando ls -ptell lspara agregar una barra diagonal a las entradas que son un directorio, y usando grep -v /tell greppara devolver solo líneas que no contienen una barra diagonal.
Revisé éste porque es mi respuesta favorita (mientras que hice upvote todos ellos), pero ahora tratando de encontrar una manera de ponerlo en columnas y revertir el orden de salida de ...
thinksinbinary
"Puedes usar 1 interruptor para la lista de una sola columna" lo siento, intenté averiguar qué querías decir con eso, agradecería un ejemplo / explicación si lo
hicieras
@sdkks No necesita el 1interruptor al canalizar la salida, ya que por defecto será una sola columna en esa situación. Si eso es lo que querías decir.
thomasrutter
@thinksinbinary no está seguro de cómo hacer que sea de varias columnas, pero podría buscar o hacer su propia pregunta por separado y alguien lo sabrá.
thomasrutter
7
Puedes probar esto:
find . -maxdepth 1 -not -type d
Y asigne esto a un alias especial.
Pero si realmente está interesado en usar el lscomando, aquí:
Vi en su comentario (@thinksinbinary) sobre la respuesta de @thomasrutter, que deseaba poder imprimirlos en orden inverso y en columnas. Probablemente ya lo haya descubierto o haya avanzado, pero aquí está:
ls -pr | grep -v / | column
-p agrega la barra diagonal ('/') a los nombres de directorio
-r invierte el orden de salida
-v permite que grep realice una búsqueda inversa para imprimir todo excepto los directorios ( todo lo que no tiene el '/' que -p puso allí )
creo que es genial que en el foro de ubuntu la gente todavía comente y lea tus publicaciones después de mucho tiempo. He estado esperando volver a Linux para aprender el ensamblaje y los sistemas operativos, ya que hacerlo en Windows es mucho más difícil. ¡Gracias!
thinkinbinary
0
ls -F | grep -v /
El comando anterior muestra archivos, pero incluye enlaces simbólicos, tuberías, etc. Si desea eliminarlos también, puede usar uno de los indicadores mencionados a continuación.
ls -Fagrega símbolos a los nombres de archivo. Estos símbolos muestran información útil sobre archivos.
ls
, pero se puede hacer fácilmente con elfile
comando:file /directory/containing/the/files -maxdepth 1 -not -type d
.ls
throughgrep
, algo asíls -1F /directory/containing/the/files | grep -vE /$
. Pero tenga en cuenta que analizar la salida de ls puede ser complicado .Respuestas:
Usando
ls -p
tellls
para agregar una barra diagonal a las entradas que son un directorio, y usandogrep -v /
tellgrep
para devolver solo líneas que no contienen una barra diagonal.fuente
1
interruptor al canalizar la salida, ya que por defecto será una sola columna en esa situación. Si eso es lo que querías decir.Puedes probar esto:
find . -maxdepth 1 -not -type d
Y asigne esto a un alias especial.
Pero si realmente está interesado en usar el
ls
comando, aquí:ls -p | egrep -v /$
fuente
Alternativamente:
Este método se enumera en
-l
Formato de lista larga-A
Muestra casi todos (muestra archivos ocultos pero no muestra.
y..
)-h
Tamaños de archivo legibles por humanosmientras grep
-v
No mostrar registros coincidentesRegular expression
filtro^d
: los que comienzan con la letra d (para el directorio)drwxrwxr-x <some file details> <foldername>
Si no desea escribir todo el tiempo, puede convertirlo en un alias para su perfil bash / shell.
fuente
Vi en su comentario (@thinksinbinary) sobre la respuesta de @thomasrutter, que deseaba poder imprimirlos en orden inverso y en columnas. Probablemente ya lo haya descubierto o haya avanzado, pero aquí está:
fuente
El comando anterior muestra archivos, pero incluye enlaces simbólicos, tuberías, etc. Si desea eliminarlos también, puede usar uno de los indicadores mencionados a continuación.
ls -F
agrega símbolos a los nombres de archivo. Estos símbolos muestran información útil sobre archivos.@
significa enlace simbólico (o que el archivo tiene atributos extendidos ).*
significa ejecutable .=
significa zócalo .|
significa pipa con nombre .>
significa puerta ./
significa directorio .El comando anterior muestra solo archivos.
fuente