Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

grep

3 réponses
Avatar
françois
Bonjour ,

J'ai un petit soucis que je n'arrive pas à résoudre :

voulant vérifier un fichier qui a la particularité
de contenir beaucoup plus de ligne de commentaire que
de ligne vraiment effective , j' ai alors comme d'habitude
passé au shell la commande suivante pour "matcher" les lignes
qui ne commence pas par un dièse :

grep -v "^#" /fichier

facile me dirai vous .

Le résultat est assez déroutant pourtant .

Mon problème est le suivant :

j'ai un affichage au milieu de l'écran ,une ligne ,
bizarre , en ajoutant | less ,je m'aperçois qu'en réalité
toutes les lignes non "matcher" (celle contenant les #) ne sont pas
afficher (ok) , mais , à l'écran , il y a autant de ligne vide que de
ligne non "matcher" ==> et donc je suis obliger de jouer avec les
flèches de direction ( et je peut vous dire que ça ne m'amuse pas
beaucoup ) dans less , pour descendre et remonter voir les lignes qui
m'interesse (les lignes vide n'étant pas d'un grand intérêt :-) ).

Mes questions :

Comment fait-on pour éviter ce comportement qui est certainement du à
grep ,ou au pattern peut-être trop triviale que j'utilise ==> "^#" ?

y a t-il une option particulière que j'aurais louppé (peut-être que
l'option "-v" n'est pas recommandée dans ce cas là ) ?


Merci aux personnes qui se pencherons sur le problème .


ps : j'ai essayer d'utiliser sed (à la sortie du grep) sans résultat.
je m'y suis certainement mal pris !

3 réponses

Avatar
Bernard Déléchamp
Bonjour ,


Tout pareil ;-)

J'ai un petit soucis que je n'arrive pas à résoudre :

voulant vérifier un fichier qui a la particularité
de contenir beaucoup plus de ligne de commentaire que
de ligne vraiment effective , j' ai alors comme d'habitude
passé au shell la commande suivante pour "matcher" les lignes
qui ne commence pas par un dièse :

grep -v "^#" /fichier


[...]

Comment fait-on pour éviter ce comportement qui est certainement du à
grep ,ou au pattern peut-être trop triviale que j'utilise ==> "^#" ?

y a t-il une option particulière que j'aurais louppé (peut-être que
l'option "-v" n'est pas recommandée dans ce cas là ) ?


Pas sûr que ça réponde parfaitement, mais essaie ceci :

grep -v "^$|^#"

Cordialement.

--
L'homme a créé des dieux ; l'inverse reste à prouver.
Serge Gainsbourg

Avatar
Jean Christophe Pacchiana
Je vois que tu utilises des doubles cotes " as tu testé avec une simple cote
'...

J'ai testé et les deux marchent + ou - celon les OS.

JC


">
Comment fait-on pour éviter ce comportement qui est certainement du à
grep ,ou au pattern peut-être trop triviale que j'utilise ==> "^#" ?

y a t-il une option particulière que j'aurais louppé (peut-être que
l'option "-v" n'est pas recommandée dans ce cas là ) ?


Avatar
françois
Bernard Déléchamp wrote:

Bonjour ,



Tout pareil ;-)

J'ai un petit soucis que je n'arrive pas à résoudre :

voulant vérifier un fichier qui a la particularité
de contenir beaucoup plus de ligne de commentaire que
de ligne vraiment effective , j' ai alors comme d'habitude
passé au shell la commande suivante pour "matcher" les lignes
qui ne commence pas par un dièse :

grep -v "^#" /fichier



[...]

Comment fait-on pour éviter ce comportement qui est certainement du à
grep ,ou au pattern peut-être trop triviale que j'utilise ==> "^#" ?

y a t-il une option particulière que j'aurais louppé (peut-être que
l'option "-v" n'est pas recommandée dans ce cas là ) ?



Pas sûr que ça réponde parfaitement, mais essaie ceci :

grep -v "^$|^#"

Cordialement.



Ah qu'est ce que j'ai pu me prendre la tête sur ce truc .
(il m'en reste des choses à voir :-) )

Merci beaucoup c'est nickel !!!