Commande FIND -exec rm

pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   -  
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite regrouper la suppression des fichiers suivants

v03_access.log.5*
v03_access.log.3*
v03_access.log.4*

Mais uniquement v03_access.log.51,52,etc.. mais pas le v03_access.log.5,4,3

Actuellement je fait fichier par fichier et de plus cela me supprime également les fichiers v03_access.log.5 et v03_access.log.4,etc..

find /  -name  'v03_access.log.4*' -exec rm -f {} \;
find / -name 'v03_access.log.3*' -exec rm -f {} \;
find / -name 'v03_access.log.5*' -exec rm -f {} \;


Est ce possible de faire cela en une seule commande?

Merci

A voir également:

2 réponses

jee pee Messages postés 41510 Date d'inscription   Statut Modérateur Dernière intervention   9 712
 
Bonjour,

A essayer, le OR
find / \( -name 'v03_access.log.3*' -o -name 'v03_access.log.4*' -o -name 'v03_access.log.5*' \)


ou un regex
find / -iregex "\(v03_access.log.3*\|v03_access.log.4*\|v03_access.log.5*\)" 


Et sur le OR, pour ne pas prendre 3,4, et 5 seuls, utiliser 2 caractères joker ? (1 seul caractère) et * (0 à n caractères),
'v03_access.log.3?*' le ? oblige à avoir un autre caractère derrière le 3, le * permettant n'importe quelle longueur


1
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   23
 
Merci.

Avec le OR cela fonctionne mais pas avec la Regex mais c'est peut être dû à la version de l'OS qui est ancienne.
0