Bash : Extraire une partie d'un fichier

Résolu/Fermé
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 10 juin 2013 à 10:50
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 10 juin 2013 à 12:04
Bonjour,

Je suis confronté au problème suivant :
Dans le nom suivant :
x_ident_lot='BERNARD'

Je souhaite récupérer la partie "BERNARD".
Le problème c'est que cette partie peut changer et prendre différents nom avec un nombre de caractères différents.
Auriez-vous svp une commande qui me permettrait de faire ça ?

En vous remerciant par avance.
K
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
10 juin 2013 à 11:09
Salut,

$ echo "${B}"
x_ident_lot='BERNARD'

$ echo "${B}" | grep -o -P "x_ident_lot='\K[^']*(?=')"
BERNARD

$ echo "${B}" | sed -n "s/x_ident_lot='\([^']*\)'/\1/p"
BERNARD

$ echo "${B}" | awk -F"'" '$1 ~ /x_ident_lot=/ { print $2 }'
BERNARD

0
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020
10 juin 2013 à 11:27
Parfait merci beaucoup !
Entre temps J'ai trouvé ça aussi :
echo "${B}" | grep x_ident_lot | awk -F'=' '{print $2}' | cut -d"'" -f2

Merci encore.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
10 juin 2013 à 11:29
grep x_ident_lot | awk -F'=' '{print $2}' | cut -d"'" -f2
Ça fait beaucoup de processus pour rien ;-(
0
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020
10 juin 2013 à 12:04
C'est vrai, j'ai finalement fait le choix de ta troisième proposition.
Merci !
0