[linux - bash] explosion chaine de caracteres

Résolu
B@|-|@N Messages postés 386 Date d'inscription   Statut Membre Dernière intervention   -  
 Nim65s -
Bonjour tout le monde.

Je voudrais savoir s'il existe sous Linux une commande pour exploser une chaine de caractere à partir d'un sépérateur donné et récupérer un élément de cette chaine.

Exemple : save_2005_03_31 donne une fois explosé suivant le caractère '_' donne save ou 2005 ou 03 ou 31 suivant la position que l'on demande.

Au départ j'étais parti sur awk, mais j'ai besoin de pouvoir éclater une chaine unique pas ce qu'il y a dans un fichier... Donc s'il existait une commande capable de faire ça "proprement" ?

Merci d'avance.

Bahan, qui va chercher un moyen sale pendant ce temps ^_^
A voir également:

3 réponses

Nim65s
 
On peut aussi utiliser cut, c'est plus court ^^

$ echo save_2005_03_31 | cut -f 2 -d _
2005
$ echo save_2005_03_31 | cut -f 3 -d _
03
6
np34 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonjour à toi

Tu peux très bien le faire avec awk en utilisant sont entrée standard dans un pipe, par exemple :
$ echo save_2005_03_31 | awk 'BEGIN{FS="_"} {print $2}' 
2005
$ echo save_2005_03_31 | awk 'BEGIN{FS="_"} {print $3}' 
03


Voilou

Nicolas
3
B@|-|@N Messages postés 386 Date d'inscription   Statut Membre Dernière intervention   62
 
Merci beaucoup

Pb résolu!

Bahan
1