Rimozione di file corrispondenti a un'espressione regolare a intervallo numerico


13

Ho una cartella che contiene molti file. Alcuni file di dati sono etichettati 1, 2, 3, ..., 300

Voglio rimuovere questi file di dati usando il terminale. Come faccio a fare questo?

Voglio fare qualcosa del genere

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

Sono semplicemente chiamati 1, 2ecc. E corrispondono tutti a un'espressione che fornisce numeri da 0 a 300 o ci sono altri elementi nel nome file? Puoi darci un esempio più concreto, magari con un elenco di directory?
slhck,

Sì, sono appena chiamati 1, 2, ecc.
smilingbuddha,

Risposte:


16

Puoi provare

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

Questo eliminerà:

some-files-with-numbers0

some-files-with-numbers1

some-files-with-numbers2

...

some-files-with-numbers300

1

Mi piace la risposta del superutente, ma per aggiungere un'altra possibilità:

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

1
Che dire some-files-with-numbers301?
cYrus,

@cYrus Sono a conoscenza dei limiti :) La mia risposta era più mirata ad essere un'alternativa a quella del superutente.
qdii,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.