J'ai de nombreux fichiers nommés
sequence_1_0001.jpg
sequence_1_0002.jpg
sequence_1_0003.jpg
...
et fichiers nommés
sequence_1_0001.hmf
sequence_1_0002.hmf
sequence_1_0003.hmf
...
et fichiers nommés
sequence_2_0001.jpg
sequence_2_0002.jpg
sequence_2_0003.jpg
...
et
sequence_2_0001.hmf
sequence_2_0002.hmf
sequence_2_0003.hmf
...
Je veux juste supprimer les fichiers qui commencent par «séquence_1» et se terminent par «.hmf», mais je ne veux pas les supprimer un par un, car il y a des milliers de fichiers. Comment puis-je spécifier à la commande rm que je veux supprimer tout ce qui commence par le préfilx 'séquence_1' et se termine par '.hmf'?
Je travaille actuellement avec un système Linux RedHat, mais j'aimerais savoir comment le faire sur d'autres distributions également.
find
approche devienne plus facile que de deviner et de vérifier.Bien que la réponse de jw013 soit correcte par rapport à la globalisation, cette commande peut échouer si vous avez des milliers de correspondances: la ligne de commande développée
rm sequence_1_0001.hmf sequence_1_0002.hmf ...
générée par le shell peut simplement être trop grande.Comme Dom l'a suggéré, vous pouvez également utiliser l'
-delete
option avecfind
:Les deux
-maxdepth
et-delete
, bien qu'ils ne soient pas dans la norme POSIX, sont assez courants dans lesfind
implémentations dans la nature. Les distributions Linux utilisent généralement GNUfind
, qui prend certainement en charge ces options.la source
-delete
devrait être pris en charge sur les systèmes GNU et BSD récents , alors qu'il-print0
est uniquement GNU. Il est donc probablement plus portable aussi (bien que cela ne devrait pas faire de différence pour l'OP).fonctionnerait aussi dans Bash.
la source
bash
, et la forme zéro rembourrée a besoin de la version 4, je crois.