Bonjour,
J'ai un fichier avec plusieurs endroits où je dois y inverser des lignes.
Je fais une commande qui souvent fonctionne bien, mais là je n'ai aucune idée de pourquoi ça ne fonctionne pas. Les lignes à inverser ressemble à celle-ci, le repère c'est le chiffre 1 suivit d'un " à la fin de la première ligne:
<verse osisID="PssSol.2.1">
<title type="section" subtype="x-preverse"><w lemma="ψαλμός" morph="packard:N2 NSM" xlit="betacode:YALMO\S">ψαλμὸς</w> <w lemma="ὁ" morph="packard:RA DSM" xlit="betacode:TW=|">τῷ</w> <w lemma="Σαλωμών" morph="packard:N DSM" xlit="betacode:*SALWMWN">Σαλωμων</w> <w lemma="περί" morph="packard:P" xlit="betacode:PERI\">περὶ</w> <w lemma="Ἰερουσαλήμ" morph="packard:N AS" xlit="betacode:*IEROUSALHM">Ιερουσαλημ</w></title>
Faudrait que ça fasse ceci:
<title type="section" subtype="x-preverse"><w lemma="ψαλμός" morph="packard:N2 NSM" xlit="betacode:YALMO\S">ψαλμὸς</w> <w lemma="ὁ" morph="packard:RA DSM" xlit="betacode:TW=|">τῷ</w> <w lemma="Σαλωμών" morph="packard:N DSM" xlit="betacode:*SALWMWN">Σαλωμων</w> <w lemma="περί" morph="packard:P" xlit="betacode:PERI\">περὶ</w> <w lemma="Ἰερουσαλήμ" morph="packard:N AS" xlit="betacode:*IEROUSALHM">Ιερουσαλημ</w></title>
<verse osisID="PssSol.2.1">
J'utilise cette commande sed qui ne fonctionne pas:
sed -ri ':a;N;$!ba;s/(\t\t<verse osisID="*.*\.1">)\n(<title*.*title>)/\2\n\1/g' Monfichier
Sans pour autant me donner de retour d'erreur.
J'ai un peu essayer en modifiant les variables mais rien n'y fait!
Merci pour votre aide.