Uma forma simples de apagar todos estes arquivos é com o comando find. Assim:
find -name \*URL -exec rm -i {} \;
A principio pode parecer um comando complicado, mas após a explicação você vai ver que é muito simples.
find -name \*URL
Vai procurar de forma recursiva por todos os arquivos e diretórios que terminem com as letras URL.
Note que coloquei um escape no asterisco usando uma barra invertida (\). Isto serve para que o shell não interprete o *, deixando para o comando find interpretá-lo.
rm -i
O comando rm -i remove arquivos, após pedir confirmação. Se você não deseja ter que confirmar a exclusão de cada arquivo, substitua o argumento -i pelo argumento -f.
Agora basta falar sobre o argumento -exec do find.
O argumento -exec permite ao usuário que execute um comando para cada arquivo que "case" com as condições passadas para o find.
Sua sintaxe é a seguinte:
find <condições> -exec <comando [argumentos_adicionais_comando]> {} \;
Os colchetes ({}) servem para indicar para o find, aonde ele deve colocar no nome do arquivo na substituição do comando. O ponto e virgula (;) no final, serve para o find saber que o comando acabou. Ele também precisa de escape com \ pois queremos impedir que o bash interprete este ponto e virgula.
comando pode ser qualquer comando bash, e argumentos_adicionais_comando são argumentos que desejamos passar para este comando. No nosse exemplo, o comando é rm e temos apenas um argumento, que é -i.
Então traduzindo, o comando "find -name \*URL -exec rm -i {} \;" significa:
Encontre todos os arquivo que terminam com URL e para cada arquivo encontrado execute rm -i seguido de seu nome.
Nenhum comentário:
Postar um comentário