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

Résolu
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. Modérateur
    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

    1. OK merci à tous les deux, c'était clair et rapide!

      ça marche

      Merci bcp
      1. Modérateur
        Salut,

        man cut
        [jp@MDK tmpfs]$ echo "save_1_1_1" | cut -d_ -f1
        save
        [jp@MDK tmpfs]$
        ;-))