Respostas:
Ou...
find $directory_name -name \*.sql
Por exemplo
find / -name \*.sql
Ou
find ~ \*.sql
(onde ~ equivale a / home / your_username /) ou ...
find /usr/local/share/ \*.sql
e assim por diante.
Execute isso na linha de comando:
cd / && find | grep '\.sql$'
Mude '/' para o diretório que você deseja pesquisar.
O findcomando é capaz de realizar a tarefa sem grep (usando opções extras), mas acho o uso acima mais conveniente.
Em ordem, o comando acima:
cd /)find)| grep '\.sql$')findjá possui recursos de filtro
Sei que este é um post antigo, mas sou muito novo nisso e encontrei uma maneira fácil de encontrar todos os arquivos de uma certa extensão em um diretório e seus subdiretórios filhos. Bem, você primeiro navega para o parent Directoryentão find . -name '*.sql'e encontrará todos os arquivos com extensão .sql nos diretórios e seus subdiretórios.
No meu caso, eu queria excluir todos os arquivos .xml no diretório e seus subdiretórios, então o que fiz mais foi adicionar o remove como aquifind . -name '*.xml' | xargs rm
Espero que isso ajude alguém :)
findentende o -deletecomando. Não há necessidade de envolver rm. Ou você pode usar o -execcomando para invocá-lo diretamente sem o desvio através de um cano e xargs.
locate -br \\.sql$ | egrep '^/folder/path/'
Se não estiver instalado, instale-o anteriormente com:
sudo apt install mlocate
mlocate.dbinstância atualizada que não esteja configurada pronta para uso no Ubuntu (eu blieve). Além disso, por que não simplesmente locate '/folder/path/*.sql'?
locatetem alguma configuração diferente de regex usado emegrep
locatecorresponde a expressões globais como /folder/path/*.sql, e não expressões regulares.
man locateque entendi -r, --regexp REGEXP - Search for a basic regexp REGEXP, assumi que era uma regex. De qualquer forma eu tentei a sua "expressão global", mas não funciona, me desculpe
--regexnão for especificado, PATTERNs podem conter caracteres brilhantes.” ( Fonte )