[Unix] Majuscules et minuscules

Résolu
Trezeg Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour

Lors de recherche dans des fichiers logs (plus de 50 fichiers de plusieurs milliers de lignes), j'exécute la commande ci-dessous (-i pour 'ignore case'):
grep -i Tahoma *
grep -i KNV *
Mais parfois j'obtiens l'erreur suivante :
grep: Maximum line length of 2048 exceeded.
Pour remédier à ce problème j'utilise awk :
awk  '/Tahoma/' * 
awk  '/KNV/' *
Mais je ne sais pas comment utiliser l'option 'ignore case' avec awk ?

Est-ce que quelqu'un aurait une idée ?

D'avance merci.

Trez
A voir également:

10 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Si tu as "gawk" (awk --version) :
awk 'BEGIN {IGNORECASE=1;} /motif/ {print $0}'
;-))
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
Le problème c'est le nombre de fichiers, utiliser xargs
ls | xargs grep -i XXX
0
Trezeg Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci jipicy mais ca semble coincer quelque part :
J'ai créé un répertoire chemin dans lequel il y a un fichier nommé monLog.
$more monLog
errOr
ErroR
error
tests
eRRor
Et quand je lance la commande
awk 'BEGIN {IGNORECASE=1;} /error/ {print $0}'
le système semble se figer...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
awk 'BEGIN {IGNORECASE=1;} /error/ {print $0}' < monLog
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Merci ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Trezeg Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci mais j'obtiens le meme résultat alors que je change la valeur de l'IGNORECASE...
$awk 'BEGIN {IGNORECASE=1;} /error/ {print $0}' < monLog
error
$ awk 'BEGIN {IGNORECASE=0;} /error/ {print $0}' < monLog
error
$
Est-ce normal ?

Trez
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Non !
[jp@MDK repertoire]$ cat toto
errOr
ErroR
error
tests
eRRor

[jp@MDK repertoire]$ awk 'BEGIN {IGNORECASE=1;} /error/ {print $0}' toto
errOr
ErroR
error
eRRor

[jp@MDK repertoire]$ awk 'BEGIN {IGNORECASE=0;} /error/ {print $0}' toto
error
[jp@MDK repertoire]$
C'est quelle version de "awk" que tu as ? (awk --version | head -1 )

;-)
0
Trezeg Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   2
 
Je ne sais pas car meme cette commande fige le systeme...lol
Pour info, je suis en Sun OS 5.8 et je n'ai pas gawk. Il y aurait-il une solution alternative ?

Merci
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Je ne pense pas pour les versions antérieures de "awk".

Par contre essaie la solution donnée par "dubcek" au post #2.
0
Trezeg Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   2
 
Oupss, j'avais pa vu le post de dubcek...
Ca marche nickel.
Merci à tous et bon (long) weekend

Trez
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
Avec Solaris, il faut utiliser nawk (new awk)
0
Un passant
 
Quel est l'intérêt de xargs ici par rapport à un pipe tout court ?
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
http://www.commentcamarche.net/faq/sujet 625 suppression impossible liste d arguments trop longue
0