Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 15-11-2018 22:40:35

moams
Membre
Inscription : 15-11-2018

[Résolu] aide sur l'utilisation de grep

Hello la team Debian

j'ai besoin de vous ..

je voudrais avec grep vérifier qu'un mot  existe en début d'une ligne  et un autre en fin de la même ligne

je fais un:   cat -e <fichier.txt>  | grep '^mot1 mot2$'             

mais ça ne fonctionne pas si vous avez des solutions je suis preneur

même un script bash qui pourrais le faire je suis aussi preneur

help please

Dernière modification par moams (24-11-2018 01:19:36)

Hors ligne

#2 16-11-2018 01:04:24

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian stretch 9.11
Noyau : Linux 4.9.0-11-amd64
(G)UI : LightDM et Xfce4 + Gnome 3.22
Inscription : 29-04-2015

Re : [Résolu] aide sur l'utilisation de grep

cat fichier.txt | grep ^mot1 | grep mot2$


Chaque siècle fera son œuvre, aujourd’hui civique, demain humaine. Aujourd’hui la question du droit, demain la question du salaire. Salaire et droit, au fond c’est le même mot. L’homme ne vit pas pour n’être point payé ; Dieu en donnant la vie contracte une dette ; le droit, c’est le salaire inné ; le salaire, c’est le droit acquis.
             Quatrevingt-treize
             Victor Hugo.

Hors ligne

#3 16-11-2018 01:45:19

MicP
Membre
Inscription : 29-02-2016

Re : [Résolu] aide sur l'utilisation de grep

Bonjour moams

…avec grep vérifier qu'un mot  existe en début d'une ligne  et un autre en fin de la même ligne

je fais un:   cat -e <fichier.txt>  | grep '^mot1 mot2$'             

mais ça ne fonctionne pas…


cat fichier.txt

bla mot1 jhgjh lmkjlkj gfdgfd mot2
bla blabla blabla blabla blabla bla
mot1 la phrase est ici mot2
bli bli bli bli bli bli bli bli bli bli
mot1 mais là, c'est pas la bonne phrase mot2 blob



Si tu tiens à utiliser l'option -e de la commande cat :

cat -e fichier.txt

bla mot1 jhgjh lmkjlkj gfdgfd mot2$
bla blabla blabla blabla blabla bla$
mot1 la phrase est ici mot2$
bli bli bli bli bli bli bli bli bli bli$
mot1 mais lM-CM- , c'est pas la bonne phrase mot2 blob$



cat -e fichier.txt | grep '^mot1.*mot2\$'

mot1 la phrase est ici mot2$



=======
Ou alors :

grep '^mot1.*mot2$' fichier.txt

mot1 la phrase est ici mot2


Dernière modification par MicP (16-11-2018 02:11:33)

Hors ligne

#4 16-11-2018 02:43:38

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Résolu] aide sur l'utilisation de grep

grep '^mot1 mot2$'


La ligne doit commencer et finir avec "mot1 mot2".
...En fait ça veut dire juste "je veux exactement la ligne "mot1 mot2" !"

grep '^mot1.*mot2$'


Le ".*" dit qu'il peut y avoir des choses :
    "." veut dire "n'importe quel cararctère"
    "*" veut dire 0 occurence ou une infinité du caractère (ou chaine de caractère) à sa gauche.

Donc :
- Commence par mot1 (^mot1)
- Suivit de n'importe quoi ou de rien (.*)
- Finit par mot2 (mot2$)

Dernière modification par otyugh (16-11-2018 02:51:44)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

En ligne

#5 24-11-2018 00:58:38

moams
Membre
Inscription : 15-11-2018

Re : [Résolu] aide sur l'utilisation de grep

Bonsoir Merci  pour cette explication pédagogique   je viens de faire la manipulation ça marche big_smile


otyugh a écrit :

grep '^mot1 mot2$'


La ligne doit commencer et finir avec "mot1 mot2".
...En fait ça veut dire juste "je veux exactement la ligne "mot1 mot2" !"

grep '^mot1.*mot2$'


Le ".*" dit qu'il peut y avoir des choses :
    "." veut dire "n'importe quel cararctère"
    "*" veut dire 0 occurence ou une infinité du caractère (ou chaine de caractère) à sa gauche.

Donc :
- Commence par mot1 (^mot1)
- Suivit de n'importe quoi ou de rien (.*)
- Finit par mot2 (mot2$)

Hors ligne

#6 24-11-2018 01:02:39

moams
Membre
Inscription : 15-11-2018

Re : [Résolu] aide sur l'utilisation de grep

Merci  MicP pour ton explication limpide   la manipulation avec la commande cat -e est voulu j'arrivais pas à afficher ce que je voulais avec grep sans .

MicP a écrit :

Bonjour moams

…avec grep vérifier qu'un mot  existe en début d'une ligne  et un autre en fin de la même ligne

je fais un:   cat -e <fichier.txt>  | grep '^mot1 mot2$'             

mais ça ne fonctionne pas…


cat fichier.txt

bla mot1 jhgjh lmkjlkj gfdgfd mot2
bla blabla blabla blabla blabla bla
mot1 la phrase est ici mot2
bli bli bli bli bli bli bli bli bli bli
mot1 mais là, c'est pas la bonne phrase mot2 blob



Si tu tiens à utiliser l'option -e de la commande cat :

cat -e fichier.txt

bla mot1 jhgjh lmkjlkj gfdgfd mot2$
bla blabla blabla blabla blabla bla$
mot1 la phrase est ici mot2$
bli bli bli bli bli bli bli bli bli bli$
mot1 mais lM-CM- , c'est pas la bonne phrase mot2 blob$



cat -e fichier.txt | grep '^mot1.*mot2\$'

mot1 la phrase est ici mot2$



=======
Ou alors :

grep '^mot1.*mot2$' fichier.txt

mot1 la phrase est ici mot2


Hors ligne

Pied de page des forums