texto recursivo por ejemplos consola con comando buscar archivos archivo unix shell find

unix - recursivo - ¿Cómo usar el comando find para encontrar todos los archivos con extensiones de la lista?



comando find linux ejemplos (8)

En complemento a la respuesta de @Dennis Williamson anterior, si desea que la misma expresión regular no distinga entre mayúsculas y minúsculas de las extensiones de archivo, use -iregex:

find /path/to -iregex ".*/./(jpg/|gif/|png/|jpeg/)" > log

Necesito encontrar todos los archivos de imagen del directorio (gif, png, jpg, jpeg).

find /path/to/ -name "*.jpg" > log

¿Cómo modificar esta cadena para encontrar no solo archivos .jpg?


En el uso de Mac OS

find -E packages -regex ".*/.(jpg|gif|png|jpeg)"


find -E /path/to -regex ".*/.(jpg|gif|png|jpeg)" > log

El -E evita tener que escapar de los paréntesis y las tuberías en su expresión regular.


find -regex ".*/./(jpg/|gif/|png/|jpeg/)"


find /path -type f /( -iname "*.jpg" -o -name "*.jpeg" -o -iname "*gif" /)


find /path/to -regex ".*/./(jpg/|gif/|png/|jpeg/)" > log


find /path/to/ -iname ''*.gif'' -o -iname ''*.jpg'' -o -iname ''*.png'' -o -iname ''*.jpeg''

trabajará. Puede haber una manera más elegante.


find /path/to/ -type f -print0 | xargs -0 file | grep -i image

Utiliza el comando de file para tratar de reconocer el tipo de archivo, independientemente del nombre de archivo (o extensión).

Si /path/to ao un nombre de archivo contiene la image cadena, entonces lo anterior puede devolver resultados falsos. En ese caso, sugeriría

cd /path/to find . -type f -print0 | xargs -0 file --mime-type | grep -i image/