Quiero buscar todos los archivos con la extensión .sql en carpetas y subcarpetas (recursivas).
¿Cómo puedo hacer esto?
O...
find $directory_name -name \*.sql
Por ejemplo
find / -name \*.sql
O
find ~ \*.sql
(donde ~ equivale a / home / your_username /), o ...
find /usr/local/share/ \*.sql
Etcétera.
Ejecute esto en la línea de comando:
cd / && find | grep '\.sql$'
Cambie '/' al directorio que desea buscar.
El find
comando puede realizar la tarea sin grep (usando opciones adicionales), pero el uso anterior me parece más conveniente.
En orden, el comando anterior:
cd /
)find
)| grep '\.sql$'
)
find
ya tiene capacidades de filtroSé que esta es una publicación anterior, pero soy bastante nuevo en esto y he encontrado una manera fácil de encontrar todos los archivos de cierta extensión en un directorio y sus subdirectorios secundarios. Bueno, primero navegas hacia el y
parent Directory
luegofind . -name '*.sql'
encontrarás todos los archivos con extensión .sql en los directorios y sus subdirectorios.En mi caso, quería eliminar todos los archivos .xml en el directorio y sus subdirectorios, así que lo que hice más es que agregué eliminar como aquí
find . -name '*.xml' | xargs rm
Espero que esto ayude a alguien :)
fuente
find
entiende el-delete
comando. No hay necesidad de involucrarserm
. O puede usar el-exec
comando para invocarlo directamente sin el desvío a través de una tubería yxargs
.Si no está instalado, instálelo previamente con:
fuente
mlocate.db
instancia actualizada que no esté configurada fuera de la caja en Ubuntu (Blieve). Además, ¿por qué no simplementelocate '/folder/path/*.sql'
?locate
tiene una configuración diferente de la expresión regular utilizadaegrep
locate
coincide con expresiones globales como/folder/path/*.sql
, no expresiones regulares.man locate
recibo-r, --regexp REGEXP - Search for a basic regexp REGEXP
por lo que supuse que era una expresión regular. De todos modos probé tu "expresión global" pero no funciona, lo siento--regex
no se especifica, losPATTERN
s pueden contener caracteres globulares". ( Fuente )