Encuentra archivos sin extensión

ayok13 -  
dna.factory Mensajes publicados 19915 Fecha de registro   Estado Moderador Última intervención   -
Hola,

quiero aclarar que estoy en una consola Cygwin, pero creo que eso no cambia mucho. Estoy en un directorio con muchísimos archivos. Necesito trabajar en archivos que no tienen extensión.
Quisiera saber cuál es el comando que permite listar estos archivos. Puede ser con "ls", "find" o lo que sea siempre que me muestre la lista de estos archivos particulares.
Muchas gracias ;)

Configuración: Windows 7 / Firefox 12.0

3 respuestas

  1. dna.factory Mensajes publicados 19915 Fecha de registro   Estado Moderador Última intervención   1 621
     
    que no tienen punto, o no tienen extensión?
    un simple grep -v . te mostrará todos los archivos que no tienen puntos.
    un grep -v '\....$' debería (si no me equivoco en las expresiones regulares) mostrarte todos los archivos excepto aquellos que terminan con un punto seguido de 3 caracteres.
    (el comando contiene 4 puntos seguidos)
    puedes extender las regex para buscar de 2 a 4 caracteres después del punto. *
    (o hacer la vaga y hacer 3 grep -v)
    google-chance : grep+regex : http://www.robelle.com/smugbook/regexpr.html
    ¡Deja de fallar en la prueba de Turing!
    0
  2. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 659
     
    hola
    busca todos los archivos cuyos nombres no terminen en . y 3 caracteres
    find . ! -iname "*.???"
    0
  3. ayok13
     
    Muchas gracias por sus respuestas, rápidas además :D
    Los archivos no tienen punto ni extensión, un verdadero archivo de linux ;)
    @dna.factory : no he logrado alcanzar mi objetivo con grep.
    "grep -v ." no me da nada, el prompt desaparece y parece que está a la espera.
    Cuando lo precedo de un ls, tampoco me da nada.
    Para la expresión regular, cuando ejecuto grep solo hace como la primera vez y se queda esperando. Cuando lo paso por un pipe a un ls efectivamente me muestra algunos archivos sin extensiones (pero no todos, he verificado mirando manualmente la larga lista de archivos del directorio), pero también algunos archivos .exe..., extraño
    Pero pienso que efectivamente con las expresiones regulares se debe poder hacer, y es cierto que con la que propusiste debería haber funcionado, raro...
    @dubcek : el comando funciona de maravilla. Para generalizar el comando incluso se puede usar "*.*"
    Gracias de nuevo.
    0
    1. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 659
       
      los nombres de archivo pueden contener puntos sin representar una extensión: a.b.c, xxxx-1.2
      0
    2. dna.factory Mensajes publicados 19915 Fecha de registro   Estado Moderador Última intervención   1 621
       
      puede que haya sido lacónico...
      grep -v solo no te dará nada, hay que usarlo como filtro de otro comando, por ejemplo ls.
      ls |grep -v tmp te mostrará todos los nombres de archivos que no contienen tmp (ya sea al principio, en medio, o al final)
      ls |grep -v '\.tmp$' te listará todos los archivos que no terminan en .tmp
      ls |grep -v '\..\{2-4\}$' debería (aunque no garantizo nada, y estoy de vacaciones, así que no tengo mi sco, mi cygwin o mi debian conmigo para validar) listarte todos los archivos que no terminan en un punto seguido de 2 a 4 caracteres (de .7z a .html).

      la ventaja de grep es que puedes usarlo en conjunción con find, que es mucho más poderoso (tamaño, fecha de modificación, etc.) que ls.
      las regex siendo lo que son, deberías poder usarlas también con find.
      0