Bonjour / Bonsoir,
Je suis depuis plus de 4 heures en recherche pour comprendre ce qui ne va pas.
Alors j'ai un fichier CSV avec les lignes suivantes :
1 2 3 4
| Ligne A
Ligne B
Ligne C
Ligne D |
Je souhaite y apporter un traitement pour obtenir un fichier au format xml formatté selon mes souhaits.
Ce fichier xlm possédera toutes les lignes de mon fichier CSV mais avec des instructions avant et après les données fournies par le fichier csv
J'ai déja effectué un premier travail qui est :
1 2 3 4 5 6
| Rem mise en place des variables pour creation fichier xml
set applicationID=ICI LA LIGNE A RAJOUTER AU DEBUT
set ligne_first=[{\"packageName\":\"%applicationID%\",\"permissions\":[
set before_permission={"name":"
set val_after_permission=\",\"value\":\"1\"},
set val_end_of_last_line=]}] |
Puis dans mon .bat, je vérifie que mes variables sont correctes :
1 2 3
| echo %ligne_first%
echo %before_permission%
echo %val_end_of_last_line% |
Enfin, j'ai testé sans variable ma ligne de commande avec un mot TOTO et TATA
%sed% -e "1i%ligne_first%" -e "s/.*/TOTO&/" -e "s/$/TATA,/" fichier_donnee.csv >> Final.xml
Tout est parfait et le résultat dans Final.xml est bien :
1 2 3 4 5
| ICI LA LIGNE A RAJOUTER AU DEBUT
TOTOLigne ATATA
TOTOLigne BTATA
TOTOLigne CTATA
TOTOLigne DTATA |
Alors le souci, dés que je place ma variable %before_permission% là ça va plus. j'ai une erreur :
La commande :
%sed% -e "1i%ligne_first%" -e "s/.*/%before_permission%&/" -e "s/$/TATA,/" fichier_donnee.csv >> Final.xml
Erreur:
sed.exe: -e expression n°2, caractère 11: commande `s' inachevée
Par contre si je replace la première variable utilisé, là ça pose pas de problème...
%sed% -e "1i%ligne_first%" -e "s/.*/%ligne_first%&/" -e "s/$/TATA,/" fichier_donnee.csv >> Final.xml
Incroyable...
Bon si quelqu'un peut me filer un coup de pousse.
Merci à vous
Tof
Partager