Bonsoir à toutes et à tous
Je suis en train de m'arracher les cheveux... Je suis touuuut nouveau sous linux (Centos6) et j'essaye en vain de me faire un .sh pour automatiser une tâche.
J'ai un ficher texte (fichier A) formaté grossièrement comme ça :
Balise ouvrante
texte1
texte2
Balise fermante
Balise ouvrante
texte3
texte4
Balise fermante
.
.
.
Il y a plusieurs séries de couple balise ouvrante/balise fermante. Les balises ouvrantes sont toutes les même, pareil pour les fermantes. Ce que je veux faire, c'est en fonction d'un autre fichier (fichier B) contenant des nombres ou des chiffres séparés entre eux par une espace : 1 7 10 8 3, je veux mettre dans un nouveau fichier (fichier C) le texte entre les balises de la série 1, 3, 7, 8, 10. Je pensais utiliser des tableaux comme ça mais je galère à mort....
tableau_Ao = extraction des N° de ligne où se trouve les balises ouvrantes
tableau_Af = extraction des N° de ligne où se trouve les balises fermantes
(on a par exemple : tableau_Ao[5]=185 si la 5e série de données commence à la ligne 185)
tableau_B = fichierB.txt
tableau_B = trie des valeurs dans l'ordre croissant(tableau_B)
i = 0
Pour chaque valeur (tableau_B)
StartSérie = tableau_Ao[tableau_B[i]-1]
EndSérie = tableau_Af[tableau_B[i]-1]
Copier le contenu des lignes de StartSérie à EndSérie dans fichier C
i++
Fin pour
Si vous avez plus simple ou si vous pouvez me traduire ça en bash, j'en serais ravi car j'ai passé la journée avec des grep, sed et autres sans arriver à faire quoique ce soit qui fonctionne...
Partager