Bonjour,
Je ne comprends pas bien comment Perl gère les fins de ligne dans un bloc de texte (options /s et /m).
J'ai besoin de parser un fichier XML, en simplifiant cette ligne, où je remplace pour le moment les LF par un # pour contourner le problème :
Peut-on simplifier tout ça en utilisant juste une ligne de Perl ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #extraire lignes et virer TABs grep -Poha "^\t{2}<(title|link|pub)>.+</(title|link|pub)>$" feed.xml | sed -r "s@\t@@g" > input.xml cat input.xml | tr '\n' '#' | perl -pe 's@<title>(.+?)</title>#<link>(.+?)</link>#<pub>(.+?)</pub>#@<li><a href="$2">$1 - $3</a></li>\n@g' > feed.html
Merci.
Partager