Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/03/2014, à 01:05

one_more_time_

extraction entre 2 mots avec sed ou grep ?

Bonsoir à toutes et tous.

j'ai besoin d'extraire du texte entre deux balises (mots) dans un fichier texte ,mais je n'y parviens pas.
Les balises sont:`ids` = \  et   \ donc la partie qui m’intéresse est ABCDEFGHIJKL
Tout d abord voici un exemple de la chaine:

xxx xxxxxx xxx,`ids` = \ABCDEFGHIJKL\,xxx x xxxx xxxxxxx,xxxx

ensuite , ce que j'ai tenter.

sed -nr 's/^.*"(\`ids\` = \\ .*\\ )"*$/\1/p' fichier.txt

Mais cela ne me donne rien.

Quelqu'un aurait il une idée ?

Merci.

Hors ligne

#2 Le 18/03/2014, à 04:26

aduxas

Re : extraction entre 2 mots avec sed ou grep ?

sed -nr 's/.*`ids` = \\(.*)\\.*/\1/p' fichier.txt

ou avec regexp standard

sed -n 's/.*`ids` = \\\(.*\)\\.*/\1/p' fichier.txt

ou en deux substitutions

sed -n 's/.*`ids` = \\//;s/\\.*//p' fichier.txt

Dernière modification par aduxas (Le 18/03/2014, à 04:26)

Hors ligne

#3 Le 18/03/2014, à 11:18

one_more_time_

Re : extraction entre 2 mots avec sed ou grep ?

Merci

ça semble fonctionner en remplaçant les quotes par des doubles quotes.

sed -n "s/.*`ids` = \\\(.*\)\\.*/\1/p" fichier.txt

Je suis au taff je n'ais pas le fichier en question.
Dès que je rentre je test ça.

encore Merci.

Hors ligne

#4 Le 18/03/2014, à 11:57

credenhill

Re : extraction entre 2 mots avec sed ou grep ?

Hello
avec grep

$ grep -oP '(?<=`ids` = \\)[[:alnum:]]*' fichier
ABCDEFGHIJKL

Hors ligne