Pour mon projet, je dois recupéper tous les fichiers qui contiennent la chaine de caractère FLUX;
J'y arrive très bien par le biais de la commande :
$find . -name "*.xml" | xargs grep -n "FLUX"
"FLUX" se trouve toujours dans une balise xml [requete name=xml]
(je mets des crochets a la place des chevrons xml sinon ca ne passe pas l'édition)dans mes fichiers xml je voudrais recupérer tout le contenu de la balise.
Je voudrais précisement récuperer toute le contenu de la balise "requete " qui contient FLUX, et qui est sur plusieur ligne ex :
bla bla
....
[requete name=xml]
SELECT REF_C as IND_PUB
FROM REF, FLUX
WHERE FLU_T_IND_PUB_FKR=REF_ID
AND FLU_T_ID=10
[/requete]
....
bla bla
Est ce qu'il est possible de récupérer le contenu de la balise [requete name=xml] qui est sur plusieurs lignes dans le fichier ?
Si oui, comment ?
Merci de m'avoir lu et pour votre aide.
# AWK
Posté par SamG . Évalué à 3.
awk -f xml.awk *.xml
[^] # Re: AWK
Posté par FueL . Évalué à 1.
Sinon quelqu'un connait-il de bon tuto sed/awk je sais que google est mon ami, mais je préfère les conseils d'un homme à celui d'un robot ;)
[^] # Re: AWK
Posté par nicodache . Évalué à 6.
Le conseil d'un homme : va demander au robot :-]
[^] # Re: AWK
Posté par FueL . Évalué à 1.
Il ne manquait qu'une accolade fermante à la fin du script, bref rien de méchant.
Puis-je modifier le script pour qu'il me renvoie que les balises [requete name=xml] contenant le mot "FLUX" ?
[^] # Re: AWK
Posté par SamG . Évalué à 2.
[^] # Re: AWK
Posté par FueL . Évalué à 1.
Pour moi qui ne connait rien en awk, peux tu me décries stp ce que fait chaque ligne.
- le 1er if : trouve la balise [requete name=xml];
- tu initialises "req" à chaîne vide;
- une boucle "tant que" interrompue lorsque la balise fermante [requete] est trouvée
- je sais pas ce que fait :
o le "if" de la ligne 07
o pr le getline l8
o le "if" l10
un petit éclaircissement ?
[^] # Re: AWK
Posté par nicodache . Évalué à 2.
8. lis la ligne suivante
10. affiche le contenu de req si req contient le mot "FLUX"
Le plus dur avec un langage de programmation que tu connais pas, c'est d'apprendre sa syntaxe, pas de comprendre ce qu'un bout de code fait :(
(exception faite du malbolge, whitespace, brainfuck, et autres bizarreries du genre)
# sed
Posté par gaaaaaAab . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.