Bonjour,
J'essaie de remplacer les retour windows par "<br />" et d'enlever les retour chariot unix entre deux "
J'ai l'impression qu'on peut remplacer les retours chariot avec awk qu'en les mettant dans RS
Voici un fichier de test qui est un bon exemple.
Le \n et \r\n sont respectivement les retours chariot unix et windows.
texte1 est un commentaire présent qu'au début du fichier. Les lignes suivantes
Voici ce que je souhaite obtenir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 texte1\n 1 "texte2"\n 2 "\n texte3 \n \r\n \r\n \n texte4\n \r\n texte5\n \r\n "\n
Pour le moment j'utilise ça:texte1
1 "texte2"
2 "texte3 <br /><br />texte4<br />texte5<br />"
Et j’obtiens ça:awk '
BEGIN {
BINMODE=1
RS="\r\n"
ORS="<br />"
}
{
print $0
}
' test.txt | awk '
BEGIN {
BINMODE=1
RS="\n"
ORS=""
}
{
print $0
}
' > sortie.txt
J'avais pensé à quelque chose comme un FS=" pour améliorer ça mais je n'y arrive pas.texte11 "texte2"2 "texte3 <br /><br />texte4<br />texte5<br />"<br />
Une idée pour améliorer tout ça? Désolé, je débute avec awk mais il sera toujours plus simple à utiliser que sed pour les retours chariot![]()
Partager