Sayısal aralık normal ifadesiyle eşleşen dosyaları kaldırma


13

Çok dosya içeren bir klasör var. Bazı veri dosyaları 1, 2, 3, ..., 300 olarak etiketlenmiştir

Bu veri dosyalarını terminali kullanarak kaldırmak istiyorum. Bunu nasıl yaparım?

Gibi bir şey yapmak istiyorum

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

Onlar sadece denir 1, 2vb ve hepsi 0 ile 300 arasında rakamlarını sunan bir ifadeyle eşleşen, ya dosya başka unsur vardır? Bize daha somut bir örnek verebilir misiniz, belki bir dizin listesiyle?
slhck

Evet, sadece 1, 2, vb. Olarak adlandırılırlar
smilingbuddha

Yanıtlar:


16

Deneyebilirsin

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

Bu silinecek:

some-files-with-numbers0

some-files-with-numbers1

some-files-with-numbers2

...

some-files-with-numbers300

1

Süperkerin cevabını seviyorum, ancak başka bir olasılık eklemek için:

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

1
Ne olmuş some-files-with-numbers301?
cYrus

@cYrus Kısıtlamaların farkındayım :) Cevabım, süpermininkine bir alternatif olmayı amaçlıyordu.
qdii
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.