Bash : Extraire une partie d'un fichier

Résolu
Ka-El Messages postés 279 Statut Membre -  
Ka-El Messages postés 279 Statut Membre -
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

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
  2. Ka-El Messages postés 279 Statut Membre
     
    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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      grep x_ident_lot | awk -F'=' '{print $2}' | cut -d"'" -f2
      Ça fait beaucoup de processus pour rien ;-(
      0
    2. Ka-El Messages postés 279 Statut Membre
       
      C'est vrai, j'ai finalement fait le choix de ta troisième proposition.
      Merci !
      0