Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2011, 14h37   #1
Membre du Club
 
Avatar de _Agrid
 
Inscription : novembre 2008
Messages : 85
Détails du profil
Informations personnelles :
Âge : 38
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2008
Messages : 85
Points : 64
Points : 64
Par défaut Find et REGEX

Bonjour a tous

Je souhaiterais dans un de mes scripts supprimer dans le repertoire courant tous les fichiers qui n'ont pas la forme suivant : 13245.pdf

C'est à dire un nom composé que de chiffre, la longueur n'ayant pas d'importance et avec une extension pdf.

Je pense qu'avec find et une expression regex on devrait s en sortir mais j'ai du mal a aboutir

Je me permets de vous solliciter si quelqu'un a une idée ...

Je vous remercie

Cordialement

_Agrid
_Agrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 15h01   #2
Expert Confirmé Sénior
 
Avatar de ram-0000
 
Raymond
Inscription : mai 2007
Messages : 7 471
Détails du profil
Informations personnelles :
Nom : Raymond

Informations forums :
Inscription : mai 2007
Messages : 7 471
Points : 10 993
Points : 10 993
Code :
rm `ls | grep -x ?????.pdf`


A tester abondamment
__________________
Raymond

Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
WinAgentLog WinAgentLog est un service Windows qui collecte en temps réel les messages Microsoft EventLog et les retransmet en utilisant le protocole Syslog à une machine distante.
e-verbe Un logiciel de conjugaison des verbes de la langue française

Ma page personnelle sur DVP

ram-0000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 15h01   #3
Membre éclairé
 
Avatar de FRUiT
 
Homme
Inscription : février 2011
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2011
Messages : 83
Points : 326
Points : 326
Code :
1
2
3
4
> ls
12345.pdf  54321.pdf  baz  foo.bar
> echo rm !([0-9][0-9][0-9][0-9][0-9].pdf)
rm baz foo.bar
Ou bien si la longueur de 5 caractères n'est pas trop importante :
Code :
1
2
3
4
> ls
12345.pdf  54321.pdf  baz  foo.bar
> echo rm !([0-9]*.pdf)
rm baz foo.bar
__________________
Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
FRUiT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 15h26   #4
Membre Expert
 
Avatar de becket
 
Frédéric Brugmans
Informaticien multitâche
Inscription : février 2005
Messages : 661
Détails du profil
Informations personnelles :
Nom : Frédéric Brugmans

Informations professionnelles :
Activité : Informaticien multitâche

Informations forums :
Inscription : février 2005
Messages : 661
Points : 1 196
Points : 1 196
Code :
1
2
 
find ./ -maxdepth 1  ! -regex '.*/[0-9]*\.pdf$' -exec rm {} \;
becket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 15h36   #5
Membre du Club
 
Avatar de _Agrid
 
Inscription : novembre 2008
Messages : 85
Détails du profil
Informations personnelles :
Âge : 38
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2008
Messages : 85
Points : 64
Points : 64
super

Je vais utiliser la version de becket avec juste une modification car j 'ai des repertoires que je ne souhaite pas détruire et éviter les messages d'erreur

Code :
find ./ -type f ! -regex '.*/[0-9]*\.pdf$' -exec rm {} \;
ça marche

Merci votre aide

Bon après midi

_Agrid
_Agrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 16h01   #6
Membre éclairé
 
Avatar de FRUiT
 
Homme
Inscription : février 2011
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2011
Messages : 83
Points : 326
Points : 326
Pour les messages d'erreur à la rigueur tu peux faire :
Code :
rm !([0-9]*.pdf) 2>/dev/null
Ca me parait plus simple que de sortir la grosse artillerie find, mais bon moi ce que j'en dis... ^^
__________________
Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
FRUiT est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h50.


 
 
 
 
Partenaires

Hébergement Web