#1 Le 14/05/2017, à 21:13
- L'Africain
(résolu) ajout caractères \f mon_texte \f* après code \v(chiffre)
Bonjour,
Je cherche un moyen avec sed ou autre à encadrer du texte, dans de multiples fichiers txt, par les balises \f + \f*.
Ce texte commence toujour par la balise \v(chiffre) exemple \v 1 ou \v 34. Je donne un exemple du texte original:
\v 1 Muntu ya ke zitisa Nzambi, kansi ya bambeni mingi ke bangika, ke tula luzingu na yandi na maboko ya Nzambi. Yo yina, sambu na v. 7, bo yindulaka nde: mambu yai ke kwendila ti mambu ya David.
Le résultat devrait être:
\v 1 \f + Muntu ya ke zitisa Nzambi, kansi ya bambeni mingi ke bangika, ke tula luzingu na yandi na maboko ya Nzambi. Yo yina, sambu na v. 7, bo yindulaka nde: mambu yai ke kwendila ti mambu ya David.\f*
Merci d'avance pour votre aide
Dernière modification par L'Africain (Le 15/05/2017, à 11:39)
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#2 Le 14/05/2017, à 22:31
- pingouinux
Re : (résolu) ajout caractères \f mon_texte \f* après code \v(chiffre)
Bonsoir,
Essaye
sed -r 's/(\\v [0-9]+ )(.*)/\1\\f + \2\\f*/' fichier
Hors ligne
#3 Le 15/05/2017, à 00:29
- Arbiel
Re : (résolu) ajout caractères \f mon_texte \f* après code \v(chiffre)
Bonsoir
Et comment ton texte se termine-t-il ?
Sauf erreur, la proposition de pingouinux suppose que le texte à encadrer se termine à la fin de la ligne dans laquelle se trouve ta balise \v, et qu'il n'est présent qu'une seule fois dans le fichier.
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#4 Le 15/05/2017, à 06:03
- pingouinux
Re : (résolu) ajout caractères \f mon_texte \f* après code \v(chiffre)
Sauf erreur, la proposition de pingouinux suppose que le texte à encadrer se termine à la fin de la ligne dans laquelle se trouve ta balise \v
Oui, comme sur l'exemple.
et qu'il n'est présent qu'une seule fois dans le fichier
Non.
Hors ligne
#5 Le 15/05/2017, à 09:58
- Arbiel
Re : (résolu) ajout caractères \f mon_texte \f* après code \v(chiffre)
Bonjour
et qu'il n'est présent qu'une seule fois dans le fichier
N'est-ce pas la conséquence de
The s command can be followed by zero or more of the following flags:
g
Apply the replacement to all matches to the regexp, not just the first.
?
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#6 Le 15/05/2017, à 10:05
- pingouinux
Re : (résolu) ajout caractères \f mon_texte \f* après code \v(chiffre)
g
Apply the replacement to all matches to the regexp, not just the first.
g permet de remplacer toutes les occurrences de la "regexp" sur une même ligne.
$ sed 's/a/A/' <<<"abcdabcdabcd"
Abcdabcdabcd
$ sed 's/a/A/g' <<<"abcdabcdabcd"
AbcdAbcdAbcd
Hors ligne
#7 Le 15/05/2017, à 10:18
- L'Africain
Re : (résolu) ajout caractères \f mon_texte \f* après code \v(chiffre)
Salut à vous,
Merci pour vos réponse, eh bien le code de pingouinux fonctionne parfaitement!
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#8 Le 15/05/2017, à 16:41
- Arbiel
Re : (résolu) ajout caractères \f mon_texte \f* après code \v(chiffre)
@ pingouinux
Merci pour ton explication.
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne