Por que ls -d [[:upper:]]* Solo muestra directorios pero ls -d [[:lower:]]* muestra directorios y archivos pese a que tiene el flag -d 😫

Joel Dominguez Merino

Joel Dominguez Merino

Pregunta
studenthace 4 años

Por que ls -d [[:upper:]]* Solo muestra directorios pero ls -d [[:lower:]]* muestra directorios y archivos pese a que tiene el flag -d 😫

9 respuestas
para escribir tu comentario
    Mave Fers

    Mave Fers

    studenthace 3 años

    ls -d [[:upper:]]*
    no solo muestra directorios, también muestra archivos. Para que solo te muestren directorios, añade el slash “
    /
    ” al final de
    [[:upper:]]*
    , entonces sería
    [[:upper:]]*/
    . ls [[:upper:]]*/ para buscar solo directorios de tu carpeta actual, y todo tipo de archivos que contengan los directorios hijos. Solo son de dos niveles, comenzando desde el directorio actual, hasta los hijos, nada más.

    Mave Fers

    Mave Fers

    studenthace 3 años

    ls -d [[:upper:]]* no solo muestra directorios, también muestra archivos. Para que solo te muestren directorios, añade el slash "

    /
    " al final de
    [[:upper:]]*
    , entonces seria
    [[:upper:]]*/
    .

    Jimmy Saldivias

    Jimmy Saldivias

    studenthace 3 años

    Estoy usando ubuntu y no me funcionan los comandos que usan doble parentesis recto. Alguien tiene una explicacion? Gracias

    Dany Josué López

    Dany Josué López

    studenthace 3 años

    Estaba intentando esta comando en la Terminal de windows y no me funciona. ¿solo funciona con WSL?

    Ivana Giselle kruk

    Ivana Giselle kruk

    studenthace 4 años

    Justo me pasaba lo mismo y encontré tu pregunta xD

    Pablo Aquino

    Pablo Aquino

    studenthace 4 años

    ls -d
    Trata cada entrada como un directorio, lo que no quiere decir que filtra sólo directorios.

    Ivan -

    Ivan -

    studenthace 4 años

    Perdón, olvidé poner cual seria el comando correcto para hacer lo que quieres jejeje. Para directorios en minúscula es:

    ls -d [[:lower:]]*/

    Para directorios que inician con mayúscula solamente se le pone el upper. Y para clarificar mi anterior comentario: En este caso la bandera "-d" solo evita que muestre el contenido dentro de los directorios que hacen match con el wildcard.

    Fredy Daniel Flores Lemus

    Fredy Daniel Flores Lemus

    studenthace 4 años

    Creo que eso pasa porque el flag -d en este contexto sirve para hacer búsqueda en un solo nivel, por decirlo de otra forma, solo hace búsqueda dentro de la carpeta sin importa si son directorios o archivos.

    Ivan -

    Ivan -

    studenthace 4 años

    No. Si tu haces "man ls" y buscas -d, --directory, te dice: "list directories themselves, not their contents" Y lo puedes comprobar fácilmente. Si tu haces "ls -d" te aparece un punto: "." que quiere decir el directorio en sí mismo, en este caso en el que te encuentras. ls -d [[:upper:]]* : Te muestra todo lo que inicie con mayúsculas en ese directorio(Incluyendo otros directorios) y si le quitas el "-d" te muestra todo lo que inicie con mayúsculas y el contenido de los directorios, aunque no inicien con mayúsculas La explicación del profe da a entender que solo traes directorios con mayúsculas pero no es así, en su ejemplo es verdad porque no había más archivos con mayúscula donde estaba haciendo los comandos

Curso de Terminal y Línea de Comandos

Curso de Terminal y Línea de Comandos

Aprende a utilizar la terminal y la línea de comandos para navegar tu sistema operativo, manipular archivos y directorios, comprender permisos y procesos, y usar herramientas como grep y curl. Integra alias y personaliza tu shell para optimizar tu flujo de trabajo.

Curso de Terminal y Línea de Comandos
Curso de Terminal y Línea de Comandos

Curso de Terminal y Línea de Comandos

Aprende a utilizar la terminal y la línea de comandos para navegar tu sistema operativo, manipular archivos y directorios, comprender permisos y procesos, y usar herramientas como grep y curl. Integra alias y personaliza tu shell para optimizar tu flujo de trabajo.