Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/05/2015, à 22:33

chris_wafer

[Shell] IFS contenant un pattern

Bonjour,

Je voudrais mettre dans un IFS un pattern de séparation pour faire :

mon_test=$(echo -en "un-SEP-deux-SEP-trois-SEP-quatre"); IFS='-SEP-'; read chiffre1 chiffre2 chiffre3 chiffre4 <<< $mon_test; echo $chiffre2

Hors, c'est vide car le pattern n'est pas reconnu en pattern.

Comment utiliser la commande read pour que ça marche?

Hors ligne

#2 Le 06/05/2015, à 23:47

Watael

Re : [Shell] IFS contenant un pattern

salut,

l'IFS ne contient pas un "pattern", mais une liste de caractères.

remplace "-SEP-" par "|", et adapte la variable IFS environnementale de read :

$ printf -v mon_test "un-SEP-deux-SEP-trois-SEP-quatre"
$ IFS='|' read chiffre1 chiffre2 chiffre3 chiffre4 <<< ${mon_test//-SEP-/|}
$ echo $chiffre2
deux

Dernière modification par Watael (Le 07/05/2015, à 02:15)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne