Removendo arquivos que correspondem a uma expressão regular de intervalo numérico


13

Eu tenho uma pasta que tem muitos arquivos. Alguns dos arquivos de dados estão identificados como 1, 2, 3, ..., 300

Eu quero remover esses arquivos de dados usando o terminal. Como eu faço isso?

Eu quero fazer algo como

rm some-regular-expression-giving-numbers-from-0--300

Eles são apenas chamados 1, 2etc. e correspondem a uma expressão que fornece números de 0 a 300, ou existem outros elementos no nome do arquivo? Você pode nos dar um exemplo mais concreto, talvez com uma listagem de diretório?
Slhck 15/07/12

Sim, eles estão apenas chamado 1, 2, etc.
smilingbuddha

Respostas:


16

Podes tentar

rm some-files-with-numbers{0..300}

Isso excluirá:

some-files-with-numbers0

some-files-with-numbers1

some-files-with-numbers2

...

some-files-with-numbers300

1

Eu gosto da resposta do superusuário, mas para adicionar outra possibilidade:

find . -regex './some-files-with-numbers[123]?[0-9]?[0-9]' -delete

1
Que tal some-files-with-numbers301?
CYrus

@cYrus Estou ciente das limitações :) Minha resposta foi mais voltada para ser uma alternativa à do superusuário.
Qdii 15/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.