Si tu n'as pas la possibilité (le droit) d'utiliser autre chose que le shell, utilise awk.
Tu définis la virgule comme séparateur de champs (variable FS dans awk). Pour le reste ce n'est pas compliqué jusqu'à "metadata" qui peut se traiter avec un poeu de code.
Un début de code, en supposant que le contenu se trouve dans toto.txt :
awk -F"," '{for (i=1;i<=NF;i++) {
split($i,tab,":")
value=substr($i,length(tab[1])+2)
hash[tab[1]]=value
}
}
END {
for (key in hash) {
print "Key: " key ", value : " hash[key]
}
} ' toto.txt`
Ensuite selon ton besoin, à toi d'adapter le code pour remonter les infos qui t'intéressent.
Ah, au fait je n'ai pas supprimé les '{ }' dans le résultat, à toi de le faire (en awk de préférence).
# awk est ton ami
Posté par totof2000 . En réponse au message Récupérer des infos d'un fichier : parser.. Évalué à 4.
Si tu n'as pas la possibilité (le droit) d'utiliser autre chose que le shell, utilise awk.
Tu définis la virgule comme séparateur de champs (variable FS dans awk). Pour le reste ce n'est pas compliqué jusqu'à "metadata" qui peut se traiter avec un poeu de code.
Un début de code, en supposant que le contenu se trouve dans toto.txt :
awk -F"," '{for (i=1;i<=NF;i++) {
split($i,tab,":")
value=substr($i,length(tab[1])+2)
hash[tab[1]]=value
}
}
END {
for (key in hash) {
print "Key: " key ", value : " hash[key]
}
} ' toto.txt`
Ensuite selon ton besoin, à toi d'adapter le code pour remonter les infos qui t'intéressent.
Ah, au fait je n'ai pas supprimé les '{ }' dans le résultat, à toi de le faire (en awk de préférence).