|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2007 Messages : 33 ![]() |
Bonjour,
Je fais mes débuts sur Unix et j'aurais besoin d'un coup de main. J'ai un fichier toto contenant un certain nombre de lignes. Ces lignes possèdent un code en plein milieu soit code1 soit code2, dont je connais le numéro. Je voudrais savoir si il existe dans mon fichier des lignes contenant un autre code... Du coup, je souhaite afficher les lignes ne contenant pas soit le code1 soit le code2. Pour l'instant, j'en suis à afficher les lignes ne contenant pas code1, on verra pour la combinaison des deux codes ensuite. Je tape donc : grep -v "\*code1\*" toto | more le résultat est le même que more toto... ![]() Quelqu'un a-t-il une idée? |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : février 2007 Messages : 470 ![]() |
Je comprends pas bien ton ER. Essaie simplement grep -v "code1"
__________________
La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre. Donald E. Knuth |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2007 Messages : 33 ![]() |
Effectivement, la formulation Unix est plus simple que celle en français,
grep -v "code1" toto est bonne, en fait, la condition contient 2 codes, je tape ça : # grep -v "code1"||"code2" toto et le shell ne revient pas.. |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2007 Messages : 33 ![]() |
Avec ça, ça marche :
grep -v "code1" toto | grep -v "code2" je laisse le topic ouvert le temps de manger, si quelqu'un a mieux en expliquant pourquoi. Merci KindPlayer et bon appétit. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 48 ![]() |
Oups où as-tu vu que cette formulation devait fonctionner ?
grep -v "code1" toto | grep -v "code2" est parfaitement acceptable, sinon il existe sous AIX un egrep (enhanced grep) qui autorise les expressions booléennes, eg : egrep -v 'code1 | code2' fichier Sous d'autres Unix, il est tout à fait possible que le grep par défaut soit l'équivalent du egrep AIX. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com