Rechercher : dans
Par :

[Unix] Majuscules et minuscules

Dernière réponse le 20 nov 2007 à 18:30:26 Trezeg, le 5 avr 2007 à 14:51:10 
 Signaler ce message aux modérateurs

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
Configuration: SunOS 5.8

Meilleures réponses pour « [Unix] Majuscules et minuscules » dans :
Renommer plusieurs fichiers en batch VoirLe fait de renommer un grand nombre de fichiers peut très vite devenir fastidieux. Heureusement, il existe des outils permettant d'automatiser cette tâche dans un grand nombre de cas : Fonctionnalités natives Utilisation d'un programme...
Google - Minuscules, majuscules, accents, pluriels VoirGoogle ne tient pas compte de la casse des caractères. Donc que vous utilisiez des majuscules, des minuscules ou les 2 mélangées vous obtiendrez les mêmes résultats. Google ne tient pas compte des accents, cédilles, tildes espagnols… Ainsi,...
Le bus USB (Universal Serial Bus) VoirPrésentation du bus USB Le bus USB (Universal Serial Bus, en français Bus série universel) est, comme son nom l'indique, basé sur une architecture de type série. Il s'agit toutefois d'une interface entrée-sortie beaucoup plus rapide que les ports...
UNIX - Les fichiers VoirIntroduction aux fichiers Unix Sous les systèmes UNIX tout élément est représenté sous forme de fichier. L'ensemble des fichiers est architecturé autour d'une unique arborescence dont la base, appelée racine, est notée «/». Types de...
Introduction aux systèmes UNIX VoirLe système UNIX Le système Unix est un système d'exploitation multi-utilisateurs, multi-tâches, ce qui signifie qu'il permet à un ordinateur mono ou multi-processeurs de faire exécuter simultanément plusieurs programmes par un ou plusieurs...

1

jipicy, le 5 avr 2007 à 15:03:07

Salut,

Si tu as "gawk" (awk --version) :

awk 'BEGIN {IGNORECASE=1;} /motif/ {print $0}'
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

dubcek, le 5 avr 2007 à 15:19:39

Le problème c'est le nombre de fichiers, utiliser xargs
ls | xargs grep -i XXX

Répondre à dubcek

3

Trezeg, le 5 avr 2007 à 15:25:10

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...

Répondre à Trezeg

4

dubcek, le 5 avr 2007 à 15:32:53

Awk 'BEGIN {IGNORECASE=1;} /error/ {print $0}' < monLog

Répondre à dubcek

5

jipicy, le 5 avr 2007 à 15:43:36

Merci ;-)
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

6

Trezeg, le 5 avr 2007 à 15:56:04

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

Répondre à Trezeg

7

jipicy, le 5 avr 2007 à 16:01:14

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 )

;-)
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

8

Trezeg, le 5 avr 2007 à 16:17:32

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

Répondre à Trezeg

9

jipicy, le 5 avr 2007 à 16:22:59

Je ne pense pas pour les versions antérieures de "awk".

Par contre essaie la solution donnée par "dubcek" au post #2.
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

10

Trezeg, le 5 avr 2007 à 16:32:50

Oupss, j'avais pa vu le post de dubcek...
Ca marche nickel.
Merci à tous et bon (long) weekend

Trez

Répondre à Trezeg

11

dubcek, le 5 avr 2007 à 16:40:20

Avec Solaris, il faut utiliser nawk (new awk)

Répondre à dubcek

12

Un passant, le 20 nov 2007 à 18:23:07

Quel est l'intérêt de xargs ici par rapport à un pipe tout court ?

Répondre à Un passant

13

 jipicy, le 20 nov 2007 à 18:30:26

http://www.commentcamarche.net/faq/sujet 625 suppression impossible liste d arguments trop longue

Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy
Collection CommentÇaMarche.net