Transformation lignes colonnes
Bonjour à tous,
J'essaie de transformer le format suivant en tableau (csv) sans parvenir à trouver la bonne combinaison ; awk, sed,... tout y est passé mais en vain.
Exemple :
table{
Nom=TOTO
Prenom=TITI
Age=23
Niveau=A
Etage=2
Tel=111111111
}
table{
Nom=KOKO
Prenom=KIKI
Age=27
Niveau=B
Etage=5
} etc..
A transformer en :
Nom;Prénom;Age;Niveau;Etage;tél
TOTO;TITI;23;A;2;111111111
KOKO;KIKI;27;B;5;;
.....etc.
Je précise qu'il n'y a pas forcément le même nombre de champs (comme par exemple, le tél qui n'apparait pas dans la seconde table.
Merci à tous pour votre aide.
Cordialement
Transformation lignes colonnes
Ok, j'ai pu régler mon soucis.
Transformation lignes colonnes
Ne me jugez pas trop vite; il était tard et je ne voulais pas occuper quelqu'un inutilement alors que j'avais pu résoudre mon problème.
J'ai, d'abord, enlevé le superflu ; un coup de "grep -v" pour enlever les lignes avec accolades et un coup de awk pour n'afficher que les valeurs des champs.
Ce qui donne (des blocs séparés par des lignes vides) :
TOTO
TITI
23
A
2
111111111
KOKO
KIKI
27
B
5
etc...
puis :
Code:
cat fichier|tr "\n" ";" | sed 's/;;/\n/g'
pour sortir le tableau.
Il y a certainement mieux à faire avec une commande unique mais je manque de temps pour la chercher.
On peut retrouver ce genre de format sous nagios, par exemple.
A+
Transformation lignes colonnes
Aucunement, je la garde sous le coude et c'est bien plus pro :ccool:
Merci.
Transformation lignes colonnes
Pour les champs manquants, j'ai dû y aller à la mano. Les premiers champs ne sont jamais absents ce qui permet de délimiter les lignes du tableau. On voit tout de suite les colonnes décalées mais en effet, si elles sont trop nombreuses cela devient vite pénible...
L'idée serait, peut-être, de compléter les champs absents.
Exemple, en rajoutant "Tél=" au second bloc et en procédant de même avec les champs manquants sur l'ensemble des blocs... mais bien sûr le soucis c'est toujours "comment".
Encore merci à zipe31 pour cette magnifique ligne de code.
Cdt
Transformation lignes colonnes
C'est tout bonnement parfait ! Bravo.
Merci disedorgue.
Cdt
Transformation lignes colonnes
Disedorgue, je voulais dire que ton script répond parfaitement à mon besoin :ccool: Encore merci.
Merci chrtophe d'avoir pris le temps, également.