Ayuda Linux terminal

  1. #1
    AutoBanned Avatar de Akrai
    Registro
    04 Apr, 13
    Ubicación
    Málaga
    Mensajes
    6,871
    Me gusta (Dados)
    881
    Me gusta (Recibidos)
    1878

    Ayuda Linux terminal

    Ayuda de terminal:
    tengo una carpeta con muchos archivos y subdirectorios, me gustaria un comando que me listara todas las subcarpetas que contengan una o mas mayusculas (puede contener minusculas, pero lo importante es que tenga una o mas mayusculas), solo carpetas, no archivos

  2. #2
    ForoParalelo: Miembro Avatar de The Loko
    Registro
    05 Apr, 13
    Ubicación
    Sevilla
    Mensajes
    5,077
    Me gusta (Dados)
    1367
    Me gusta (Recibidos)
    1025
    Se hace con ls, pero ni idea que opción hay que poner.

  3. #3
    Retradolfo Premium* Avatar de luis2431
    Registro
    22 Jul, 13
    Ubicación
    Salón, Casa
    Mensajes
    12,303
    Me gusta (Dados)
    5964
    Me gusta (Recibidos)
    3177
    Comandos para buscar ficheros y carpetas en Linux | Blog of SysAdmins
    Eso de arriba creo que no busca mayus, pero puede buscar cosas que abristes hace 24h o menos de 24h

    Comando Find
    Despues esta eso, en una parte pone:


    Un aviso: como ya sabrás, los sistemas Linux son sensibles a las mayúsculas y minúsculas. Las búsquedas anteriores no muestran archivos en los que el texto AVI este escrito en mayúsculas. ¿Cómo hacer una búsqueda que englobe todos los archivos sin distinciones de mayúsculas/minúsculas? Sustituimos -name por -iname.

    find /home -iname '*.mpg' -o -iname '*.avi'



    Guía de comandos en GNU/Linux Mirate eso tambien del asterisco y la interrogacion



    Y lo del -i que hace que no eches cuenta a las mayus que ya lo han dicho en las paginas aquellas -i ignora la distinción entre mayúsculas y minúsculas.




    No se si te he ayudado, no tengo linux, lo que he hecho es googlear un poco, cual es tu situación? qué te pasa¿? sabes algo del nombre de la carpeta?

  4. #4
    ForoParalelo: Miembro Avatar de J.M.Statham
    Registro
    07 Apr, 13
    Mensajes
    2,696
    Me gusta (Dados)
    803
    Me gusta (Recibidos)
    434
    Código:
    ls -d */ | grep -o '[^ ]*[A-Z][^ ]*'
    @Akrai

  5. #5
    AutoBanned Avatar de Akrai
    Registro
    04 Apr, 13
    Ubicación
    Málaga
    Mensajes
    6,871
    Me gusta (Dados)
    881
    Me gusta (Recibidos)
    1878
    Cita Iniciado por J.M.Statham Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Código:
    ls -d */ | grep -o '[^ ]*[A-Z][^ ]*'
    @Akrai
    no funciona porque no busca en todos los subdirectorios, quiero que busque en todos los subdirectorios de esa carpeta

  6. #6
    ForoParalelo: Miembro Avatar de J.M.Statham
    Registro
    07 Apr, 13
    Mensajes
    2,696
    Me gusta (Dados)
    803
    Me gusta (Recibidos)
    434
    Código:
    ls -lR | grep '^d' | grep -o '[^ ]*[A-Z][^ ]*'
    @Akrai

  7. #7
    AutoBanned Avatar de Akrai
    Registro
    04 Apr, 13
    Ubicación
    Málaga
    Mensajes
    6,871
    Me gusta (Dados)
    881
    Me gusta (Recibidos)
    1878
    Cita Iniciado por J.M.Statham Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Código:
    ls -lR | grep '^d' | grep -o '[^ ]*[A-Z][^ ]*'
    @Akrai
    eso si funciona pero se podria hacer que muestre la ruta de cada carpeta en vez de solo el nombre de la carpeta?

  8. #8
    AutoBanned Avatar de Akrai
    Registro
    04 Apr, 13
    Ubicación
    Málaga
    Mensajes
    6,871
    Me gusta (Dados)
    881
    Me gusta (Recibidos)
    1878
    venga @J.M.Statham , ayudame con eso ultimo

  9. #9
    AutoBanned Avatar de Akrai
    Registro
    04 Apr, 13
    Ubicación
    Málaga
    Mensajes
    6,871
    Me gusta (Dados)
    881
    Me gusta (Recibidos)
    1878
    up!

  10. #10
    ForoParalelo: Miembro Avatar de J.M.Statham
    Registro
    07 Apr, 13
    Mensajes
    2,696
    Me gusta (Dados)
    803
    Me gusta (Recibidos)
    434
    @Akrai no sé si lo habrás podido solucionar al final, pero no he podido estar en el ordenador hasta ahora. Como no sabia hacerlo con la ruta entera, he hecho un script en php:

    Tienes que tener php instalado, copia esto en un archivo de texto y lo guardas como elnombrequequieras.php
    Para ejecutarlo haz cd al directorio donde lo guardes, y: php nombrequelehayasdado.php /directorio/donde/querias/buscar
    O sino, guardalo en el directorio donde querias hacer la busqueda, cd hasta ese directorio, y: php nombrequelehayasdado.php $PWD
    [PHP]<?php
    function buscar_directorios($directorio){
    $a = Array();
    foreach(glob($directorio."/*", GLOB_ONLYDIR) as $dir){
    $a[]=$dir;
    }
    return $a;
    }

    function main($dir_a){

    for($x=0;$x<count($dir_a);$x++){

    if(preg_match("/[A-Z]/", basename($dir_a[$x]))){
    echo $dir_a[$x]."\n";
    }
    $jeje = buscar_directorios($dir_a[$x]);
    if( !empty($jeje) ){
    main($jeje);
    }
    }

    }
    main(buscar_directorios($argv[1]));

    ?>[/PHP]

  11. #11
    AutoBanned Avatar de Akrai
    Registro
    04 Apr, 13
    Ubicación
    Málaga
    Mensajes
    6,871
    Me gusta (Dados)
    881
    Me gusta (Recibidos)
    1878
    Cita Iniciado por J.M.Statham Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    @Akrai no sé si lo habrás podido solucionar al final, pero no he podido estar en el ordenador hasta ahora. Como no sabia hacerlo con la ruta entera, he hecho un script en php:

    Tienes que tener php instalado, copia esto en un archivo de texto y lo guardas como elnombrequequieras.php
    Para ejecutarlo haz cd al directorio donde lo guardes, y: php nombrequelehayasdado.php /directorio/donde/querias/buscar
    O sino, guardalo en el directorio donde querias hacer la busqueda, cd hasta ese directorio, y: php nombrequelehayasdado.php $PWD
    [PHP]<?php
    function buscar_directorios($directorio){
    $a = Array();
    foreach(glob($directorio."/*", GLOB_ONLYDIR) as $dir){
    $a[]=$dir;
    }
    return $a;
    }

    function main($dir_a){

    for($x=0;$x<count($dir_a);$x++){

    if(preg_match("/[A-Z]/", basename($dir_a[$x]))){
    echo $dir_a[$x]."\n";
    }
    $jeje = buscar_directorios($dir_a[$x]);
    if( !empty($jeje) ){
    main($jeje);
    }
    }

    }
    main(buscar_directorios($argv[1]));

    ?>[/PHP]
    vale, gracias, voy a probar
    por cierto, esto se hubiera podido hacer igual pero con c++?

  12. #12
    ForoParalelo: Miembro Avatar de J.M.Statham
    Registro
    07 Apr, 13
    Mensajes
    2,696
    Me gusta (Dados)
    803
    Me gusta (Recibidos)
    434
    Se puede hacer en la mayoría de lenguajes pero, para estas cosas son mejores los de scripting, no hay que compilar y tienes más funciones y más específicas.
    Última edición por J.M.Statham; 06/10/2013 a las 18:25

  13. #13
    AutoBanned Avatar de Akrai
    Registro
    04 Apr, 13
    Ubicación
    Málaga
    Mensajes
    6,871
    Me gusta (Dados)
    881
    Me gusta (Recibidos)
    1878
    Cita Iniciado por J.M.Statham Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Se puede hacer en la mayoría de lenguajes pero, para estas cosas son mejores los de scripting, no hay que compilar y tienes más funciones y más específicas.
    hombre, yo lo decia porque es el unico lenguaje que he estudiado y porque ya tenia el g++ instalado para compilar xD de todas formas nunca he visto un programa de c++ que interactue con el exterior del programa (otros archivos) asi que ni idea de como se haria

  14. #14
    Haxballero Avatar de AveFelix
    Registro
    07 Apr, 13
    Mensajes
    4,599
    Me gusta (Dados)
    10885
    Me gusta (Recibidos)
    1925
    Cita Iniciado por Akrai Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    hombre, yo lo decia porque es el unico lenguaje que he estudiado y porque ya tenia el g++ instalado para compilar xD de todas formas nunca he visto un programa de c++ que interactue con el exterior del programa (otros archivos) asi que ni idea de como se haria
    Ten en cuenta que C++ es una extensión de C, y C es un lenguaje de programación de nivel bajo... así que puedes hacer prácticamente de todo con él.

  15. #15
    ForoParalelo: Miembro Avatar de JLogan
    Registro
    13 Apr, 13
    Mensajes
    503
    Me gusta (Dados)
    320
    Me gusta (Recibidos)
    154
    Cita Iniciado por Akrai Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Ayuda de terminal:
    tengo una carpeta con muchos archivos y subdirectorios, me gustaria un comando que me listara todas las subcarpetas que contengan una o mas mayusculas (puede contener minusculas, pero lo importante es que tenga una o mas mayusculas), solo carpetas, no archivos
    Comando tree: The Tree Command for Linux Homepage

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •