Encuentra archivos sin extensión
ayok13
-
dna.factory Mensajes publicados 19915 Fecha de registro Estado Moderador Última intervención -
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
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
-
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! -
hola
busca todos los archivos cuyos nombres no terminen en . y 3 caracteresfind . ! -iname "*.???"
-
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.-
-
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.
-