Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 10/05/2010, à 05:13

Hizoka

[resolu] liste et modification de l'IFS

Bonjour,

Soit une variable :

track="video-x-generic | Video | 1 | 544x304 | V_MS/VFW/FOURCC, XVID | Inconnu"

que je voudrais transformer en liste avec pour élément séparateur " | ", je modifie donc l'IFS :

old_ifs=${IFS}
IFS=' | '
#j'ai aussi essayé avec IFS=$' | ', quelle est la différence ?

je crée la liste :

track=(${track})

et maintenant que je teste :

echo ${track[0]} =>video-x-generic
echo ${track[1]} => Video
echo ${track[2]} => 1
echo ${track[3]} => 544x304

# et là, c'est le drame...
echo ${track[4]} => V_MS/VFW/FOURCC,
echo ${track[5]} => XVID
echo ${track[6]} => Inconnu

# Remise en place de l'IFS
IFS=${old_ifs}

je ne pige pas pourquoi il me coupe la 5e info...

quelle peut être la raison ? y a-t-il moyen de contourner ce problème ?

tout en sachant que je peux avoir des espaces dans différentes sections...

merci smile

EDIT : merci de vos reponses

Dernière modification par Hizoka (Le 18/12/2011, à 01:38)

Hors ligne

#2 Le 10/05/2010, à 07:45

FRUiT

Re : [resolu] liste et modification de l'IFS

IFS='|' c'est pas bon ? big_smile

A mon humble avis IFS=' | ' signifie à peu près "couper après un | ou bien un espace"

Eventuellement tu auras à traiter les éléments de ton tableau pour enlever des espaces de début et de fin de contenu de variable.

Dernière modification par FRUiT (Le 10/05/2010, à 08:02)


Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#3 Le 10/05/2010, à 11:17

Watael

Re : [resolu] liste et modification de l'IFS

track="video-x-generic | Video | 1 | 544x304 | V_MS/VFW/FOURCC, XVID | Inconnu"

IFS=$'\n' read -d. -a Tracks <<<"${track// \| /$'\n'}."

printf '%s\n' "${Tracks[4]}"
V_MS/VFW/FOURCC, XVID

Dernière modification par Watael (Le 10/05/2010, à 11:18)


eval, c'est mal.

Hors ligne

Haut de page ↑