No bash você pode usar:
rm FOO1{3..5}
ou
rm FOO1{3,4,5}
para excluir o FOO13, o FOO14 e o FOO15.
As expansões de Bash são documentadas aqui .
Digamos que eu tenha 20 arquivos chamados FOOXX, onde XX é o número do arquivo, por exemplo, 01, 02, etc.
No momento, se eu quiser apagar todos os arquivos abaixo do número 10, isso é fácil e eu uso apenas um caractere curinga, por exemplo, rm FOO0 *
No entanto, se eu quiser excluir arquivos específicos em um intervalo, por exemplo, 13-15, isso se torna mais difícil.
rm FPP [13-15] não funciona e pergunta se desejo excluir todos os arquivos. O Few1 [3-5] do Likewse deseja excluir todos os arquivos que começam com o FOO1
Então, qual é a melhor maneira de excluir intervalos de arquivos como este?
Eu tentei tanto o bash quanto o zsh, e não acho que eles diferem tanto para uma tarefa tão básica?
No bash você pode usar:
rm FOO1{3..5}
ou
rm FOO1{3,4,5}
para excluir o FOO13, o FOO14 e o FOO15.
As expansões de Bash são documentadas aqui .
Para futuros leitores, o comando find
também pode excluir arquivos. Eu resolvi isso para um problema semelhante:
find . -type f -regex '...' -delete
mas a resposta escolhida é a mais simples para essa pergunta.
ls | grep regex | xargs rm