Bonjour,
Je suis perdu dans les awk, sed, grep et j'aurais donc besoin de l'aide de personnes pour qui ces
commandes sont un jeux d'enfants ^^
Mon problème est le suivant :
Je dispose du fichier xml suivant (par exemple) :
Cependant j'aimerais faire un script qui coupe ce fichier en plusieurs autres fichiers xml de 2 livres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <?xml version="1.0" encoding="UTF-8" ?> <bookstore name="test" bookQty=4> <book id=01> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book id=02> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book id=03> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book id=04> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
tout en gardant le début du xml mais simplement tout les 2 livres je coupe. Ex de resultat que je cherche à obtenir
un autre fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?xml version="1.0" encoding="UTF-8" ?> <bookstore name="test_1" bookQty=2> <book id=01> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book id=02> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
et ainsi de suite, si à la fin il ne reste qu'un livre à placer, alors j'aurais un fichier avec uniquement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?xml version="1.0" encoding="UTF-8" ?> <bookstore name="test_2" bookQty=2> <book id=01> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book id=02> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
1 book avec la quantite pour la bookstore test_3 de 1
Donc je couple tout les 2 occurences de book et je remet le début du xml en adaptant le nom du bookstore et la quantité de livre
Je cherche à faire cela avec un script shell, sed, awk mais je vous avoue que je sèche un peu.
J'ai essayer en python mais je sais extraire des datas mais je cherche plutot à couper tout ce qui y a entre
2 tags books à chaque fois et recréer un xml.
Merci de votre aide !
Partager