LINUX

Cómo enumerar solo directorios en Linux

enumerar solo directorios en linux

El comando ls en Linux se usa para listar los archivos y directorios en un directorio. Pero si desea enumerar directorios solo usando el comando ls, ¿cuáles son las opciones?

Aprendemos a usar el encadenamiento de comandos (usando tuberías) para ver qué directorios están presentes en un directorio dado.

En este tutorial, le mostraré varias formas de enumerar directorios solo en Linux.

Listado de directorios usando comodines

El método más simple es usar comodines. Todos los directorios terminan en barra inclinada.

$ ls -d */
Desktop/ Downloads/ looped/ Music/ orb.db/ Pictures/ Templates/ Videos/ Virus/
Documents/ jvm/ mounts/ netbeans-6.9/ PacketTracer5/ Public/ Ubuntu One/ VirtualBox VMs/

Para la lista larga, solo agregue -l opción.

$ ls -ld */
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop/
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents/
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads/
drwxr-xr-x 2 raghu raghu 4096 2012-03-27 10:48 jvm/
drwxr-xr-x 2 raghu raghu 4096 2011-10-29 13:02 looped/
drwxr-xr-x 2 root root 4096 2011-11-15 01:23 mounts/
drwxr-xr-x 2 raghu raghu 4096 2011-10-26 16:03 Music/
drwxr-xr-x 12 raghu raghu 4096 2012-01-24 19:29 netbeans-6.9/
drwxr-xr-x 3 raghu raghu 4096 2012-04-17 12:23 orb.db/
drwxr-xr-x 4 raghu raghu 4096 2011-11-16 13:03 PacketTracer5/
drwxr-xr-x 5 raghu raghu 4096 2012-07-16 11:41 Pictures/

Usando la opción -F y grep

los -F opciones agrega una barra diagonal al final. Así que podemos hacer grep de los directorios solo ‘grep’ ing líneas que terminen con una barra inclinada (/).

$ ls -lF | grep /$
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop/
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents/
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads/
drwxr-xr-x 2 raghu raghu 4096 2012-03-27 10:48 jvm/
drwxr-xr-x 2 raghu raghu 4096 2011-10-29 13:02 looped/
drwxr-xr-x 2 root root 4096 2011-11-15 01:23 mounts/
drwxr-xr-x 2 raghu raghu 4096 2011-10-26 16:03 Music/
drwxr-xr-x 12 raghu raghu 4096 2012-01-24 19:29 netbeans-6.9/
drwxr-xr-x 3 raghu raghu 4096 2012-04-17 12:23 orb.db/
drwxr-xr-x 4 raghu raghu 4096 2011-11-16 13:03 PacketTracer5/
drwxr-xr-x 5 raghu raghu 4096 2012-07-16 11:41 Pictures/

o solo para los nombres de directorio, sin -l opción,

$ ls -F | grep /$
Desktop/
Documents/
Downloads/
jvm/
looped/
mounts/
Music/
netbeans-6.9/
orb.db/
PacketTracer5/
Pictures/

Usando la opción -l y grep

En la larga lista de ls ie ls -l, podemos ‘grep’ las líneas que comienzan con d.

$ ls -l | grep ^d
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads
drwxr-xr-x 2 raghu raghu 4096 2012-03-27 10:48 jvm
drwxr-xr-x 2 raghu raghu 4096 2011-10-29 13:02 looped
drwxr-xr-x 2 root root 4096 2011-11-15 01:23 mounts
drwxr-xr-x 2 raghu raghu 4096 2011-10-26 16:03 Music

Podemos extraer solo los nombres de los archivos imprimiendo solo las últimas columnas.

$ ls -l | grep ^d | awk '{print $8,$9}'
Desktop
Documents
Downloads
jvm
looped
mounts
Music

Usando el comando echo

Podemos usar el comando echo para listar las entradas que siguen con una barra inclinada (/).

$ echo */
Desktop/ Documents/ Downloads/ jvm/ looped/ mounts/ Music/ netbeans-6.9/ orb.db/ PacketTracer5/ Pictures/

Usando printf

De manera similar, printf se puede usar para resaltar cadenas que terminan con barra inclinada (/).

$ printf '%sn' */
Desktop/
Documents/
Downloads/
jvm/
looped/
mounts/

Usando el comando de búsqueda

Siempre podemos encontrar archivos basados ​​en sus tipos de archivos usando el comando buscar:

$ find . -maxdepth 1 -type d
.
./.netbeans-registration
./.gvfs
./.shotwell
./.gegl-0.0
./.cache
./.ssh
./VirtualBox VMs
./.mission-control
./.gnome2
./.jedit
./.config
./mounts

La opción maxdepth en el comando anterior especifica que la búsqueda se realizará solo en el directorio especificado. De lo contrario, el comando find encontrará los directorios de forma recursiva, recorriendo cada directorio y sus subdirectorios. Además, en este comando, también se muestran los directorios ocultos. En todos los métodos anteriores que usan el comando ls, se puede lograr lo mismo mediante -a opción. Por ejemplo,

$ ls -laF | grep /$
drwxr-xr-x 60 raghu raghu 4096 2012-09-28 20:18 ./
drwxr-xr-x. 6 root root 4096 2012-06-25 01:08 ../
drwx------ 3 raghu raghu 4096 2011-10-29 14:04 .adobe/
drwx------ 28 raghu raghu 4096 2012-09-28 20:07 .cache/
drwx------ 3 raghu raghu 4096 2011-10-26 16:06 .compiz/
drwxr-xr-x 26 raghu raghu 4096 2012-09-27 00:20 .config/
drwx------ 3 raghu raghu 4096 2011-10-26 16:03 .dbus/
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop/
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents/
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads/
drwxr-xr-x 7 raghu raghu 4096 2012-09-15 23:21 .drpython/
drwxr-xr-x 2 raghu raghu 4096 2012-09-10 14:28 .fontconfig/
drwx------ 5 raghu raghu 4096 2012-09-28 20:07 .gconf/
drwx------ 2 raghu raghu 4096 2012-09-28 23:10 .gconfd/
drwx------ 4 raghu raghu 4096 2011-11-26 20:23 .gegl-0.0/
drwxr-xr-x 22 raghu raghu 4096 2012-09-27 01:44 .gimp-2.6/
drwx------ 11 raghu raghu 4096 2012-09-22 05:23 .gnome2/

o

$ ls -la | grep ^d
drwxr-xr-x 60 raghu raghu 4096 2012-09-28 20:18 .
drwxr-xr-x. 6 root root 4096 2012-06-25 01:08 ..
drwx------ 3 raghu raghu 4096 2011-10-29 14:04 .adobe
drwx------ 28 raghu raghu 4096 2012-09-28 20:07 .cache
drwx------ 3 raghu raghu 4096 2011-10-26 16:06 .compiz
drwxr-xr-x 26 raghu raghu 4096 2012-09-27 00:20 .config
drwx------ 3 raghu raghu 4096 2011-10-26 16:03 .dbus
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads
drwxr-xr-x 7 raghu raghu 4096 2012-09-15 23:21 .drpython

Gracias por leer este artículo. Déjame saber lo que piensas.

Leer también:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar