Suppression de fichiers correspondant à une expression régulière de plage numérique


13

J'ai un dossier qui contient de nombreux fichiers. Certains des fichiers de données sont étiquetés 1, 2, 3, ..., 300

Je souhaite supprimer ces fichiers de données à l'aide du terminal. Comment puis-je faire cela?

Je veux faire quelque chose comme

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

Sont-ils simplement appelés 1, 2etc., et correspondent-ils tous à une expression qui donne des nombres de 0 à 300, ou y a-t-il d'autres éléments dans le nom de fichier? Pouvez-vous nous donner un exemple plus concret, peut-être avec une liste de répertoires?
slhck

Oui, ils sont simplement appelés 1, 2, etc.
smilingbuddha

Réponses:


16

Tu peux essayer

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

Cela supprimera:

some-files-with-numbers0

some-files-with-numbers1

some-files-with-numbers2

...

some-files-with-numbers300

1

J'aime la réponse du superutilisateur, mais pour ajouter une autre possibilité:

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

1
Et alors some-files-with-numbers301?
cYrus

@cYrus Je suis conscient des limites :) Ma réponse visait davantage à être une alternative à celle de superutilisateur.
qdii
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.