regex négatif

regex négatif - Shell/Batch - Programmation

Marsh Posté le 21-10-2010 à 14:40:24    

Bonjour, je viens demander comment exclure les fichiers "multimedia" d'un listing de fichiers ???

Code :
  1. find . -type f -regex '.*[^(jpg|JPG|gif|db|flv)]' -print


Hors cela n'exclut que les lettres finales, soit :
 j p g i f d b l v  
et donc adieu les fichier js|php|html|etc..


Message édité par grosbin le 21-10-2010 à 14:40:38

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 21-10-2010 à 14:40:24   

Reply

Marsh Posté le 21-10-2010 à 15:49:12    

il faut utiliser la condition négative avec ! je pense, pour faire un truc du genre suivant:
find . \(-type f -a ! -name '*\.(jpg|JPG|gif|db|flv)$' \) -print
J'ai pas de linux sous la main pour tester, mais tu vois l'idée.
A+,


Message édité par gilou le 25-10-2010 à 11:55:42

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 05-11-2010 à 08:57:07    

Yes ça fonctionne, sauf le regex, du coup je me demande si une syntaxe proche de  
find . -type f -a ! -name '*.jpg' or -name '*.gif'  -print  
fonctionnerait ??


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 05-11-2010 à 14:25:18    

c'est probablement moins efficace, et il faut alors faire gaffe aux précédences du ! par rapport au -or
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 17-01-2011 à 14:32:52    

bon j'ai trouvé pour les ip
find . -type f -iregex '.*[0-9]+\.[0-9]+$'
surpuissant une fois qu'on apprend à bien l'utiliser :)


Message édité par grosbin le 17-01-2011 à 14:37:42

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed