Unix : find, grep

Unix : find, grep - Shell/Batch - Programmation

Marsh Posté le 31-01-2005 à 12:17:50    

Bonjour,
J'espère que qqn pourra m'aider pour mes 2 questions que voici :
1.Si je cherche un fichier dans lequel il y a par exemple la chaîne DEB_nnnn_FIN où nnnn est une donnée variable, on ne peut pas faire grep "DEB*FIN", y a-t-il une autre solution ?
2. Je fais un find . -exec grep -l ... {} \; mais dans l'exec je souhaiterais mettre plusieurs commandes (un autre grep, un rm sur le résultat,etc.). Comment faire ?
 
Merci beaucoup de votre aide.

Reply

Marsh Posté le 31-01-2005 à 12:17:50   

Reply

Marsh Posté le 31-01-2005 à 12:45:11    

Code :
  1. bleh=`find . | grep -E 'pattern' | grep -E 'pattern2'`
  2. for i in $bleh; do
  3.   rm $i
  4. done

Reply

Marsh Posté le 31-01-2005 à 12:49:08    

mickguib a écrit :

Bonjour,
J'espère que qqn pourra m'aider pour mes 2 questions que voici :
1.Si je cherche un fichier dans lequel il y a par exemple la chaîne DEB_nnnn_FIN où nnnn est une donnée variable, on ne peut pas faire grep "DEB*FIN", y a-t-il une autre solution ?
2. Je fais un find . -exec grep -l ... {} \; mais dans l'exec je souhaiterais mettre plusieurs commandes (un autre grep, un rm sur le résultat,etc.). Comment faire ?
 
Merci beaucoup de votre aide.


 
grep "DEB_.+?_FIN"  
 
grep fonctionne avec des expressions régulières, pas des wildcards de shell
 
 
pour le point 2 un script serait le plus simple.


Message édité par minusplus le 31-01-2005 à 12:49:24
Reply

Sujets relatifs:

Leave a Replay

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