Respuestas:
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 filtro
Sé 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
luego find . -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 :)
find
entiende el -delete
comando. No hay necesidad de involucrarse rm
. O puede usar el -exec
comando para invocarlo directamente sin el desvío a través de una tubería y xargs
.
locate -br \\.sql$ | egrep '^/folder/path/'
Si no está instalado, instálelo previamente con:
sudo apt install mlocate
mlocate.db
instancia actualizada que no esté configurada fuera de la caja en Ubuntu (Blieve). Además, ¿por qué no simplemente locate '/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, los PATTERN
s pueden contener caracteres globulares". ( Fuente )