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

Résolu/Fermé
kingos - 9 mai 2006 à 11:13
 kingos - 9 mai 2006 à 11:35
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

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
9 mai 2006 à 11:30
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
9 mai 2006 à 11:25
Salut,

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

ça marche

Merci bcp
0