[shell] récupérer les premiers caractères

Résolu
kingos -  
 kingos -
Bonjour,

je cherche à récupérer les premiers caractères d'une chaîne mais ceci sans utiliser la commande awk.

C'est à dire dans save_1_1_1, où le premier délimiteur serait donc '_' je veux pouvoir récupérer save.

Merci par avance

3 réponses

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Essaye cette construction sous bash:
    johan@johan:~$ myvar=abc_def_ghi
    johan@johan:~$ echo ${myvar%%_*}
    abc
    johan@johan:~$ thefile=DSC0123-987.jpg
    johan@johan:~$ echo ${thefile%%-*}
    DSC0123
    
    Partie finissante extension
    johan@johan:~$ echo ${thefile##*.}
    jpg
    


    man bash Remplacement des paramètres

    2
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    man cut
    [jp@MDK tmpfs]$ echo "save_1_1_1" | cut -d_ -f1
    save
    [jp@MDK tmpfs]$
    ;-))
    0
  3. kingos
     
    OK merci à tous les deux, c'était clair et rapide!

    ça marche

    Merci bcp
    0