Création
d'entreprise
Posez votre question Signaler

[linux - bash] explosion chaine de caracteres [Résolu]

B@|-|@N 388Messages postés 15 janvier 2004Date d'inscription - Dernière réponse le 3 août 2009 à 00:00
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 ^_^
Lire la suite 

[linux - bash] explosion chaine de caracteres »

3 réponses
Réponse
+6
moins plus
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
Ajouter un commentaire
Réponse
+2
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
Merci beaucoup

Pb résolu!

Bahan
Ajouter un commentaire
Ce document intitulé « [linux - bash] explosion chaine de caracteres » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?