Comment trouver les fichiers à l'exception prénom?
J'ai un dir:
- bla-bla-bla1.le goudron.7z
- bla-bla-bla2.le goudron.7z
- bla-bla-bla3.le goudron.7z
- _bla-bla-bla_foo.le goudron.7z
J'ai besoin de trouver et de supprimer tous les fichiers ".7z" sauf "_.7z"
J'ai utiliser la fonction rechercher /sauvegardes/-name "*.7z" -type f -mtime +180 -supprimer
Comment je peux faire?
OriginalL'auteur user2818137 | 2013-09-26
Vous devez vous connecter pour publier un commentaire.
Une autre approche consiste à utiliser une autre, niée primaire avec
find
:La simple regex dans les autres réponses, c'est mieux pour votre cas d'utilisation, mais cela démontre une approche plus générale, à l'aide de la
!
opérateur disponibles pourfind
.OriginalL'auteur chepner
Dans les expressions régulières, les
^
opérateur signifie "n'importe quel caractère sauf". Ainsi[^_]
signifie "n'importe quel caractère sauf pour l' _". E. g.:Donc, si votre intention est d'exclure des fichiers de départ avec
_
, votre ligne de commande complet serait:Si vous souhaitez exclure tout occerance de
_
, vous pouvez utiliser leand
etnot
opérateurs defind
, comme:OriginalL'auteur shx2
Il devrait être
OriginalL'auteur Nancy
Un moyen rapide étant donné que vous avez bash 4.2.25, est de simplement utiliser bash pattern matching pour supprimer tous .7z, mais ceux ayant _.7z, comme ceci:
Mis un edit. Cela fonctionne, merci.
OriginalL'auteur Sahil M