#1 Le 21/11/2021, à 09:22
- diesel
[RÉSOLU] Optimisation commande sed
Bonjour,
Une petite question facile pour les experts sed :
Je veux faire ça en plus concis :
sed -i "s/Une très longue chaîne de caractères/Une très longue chaîne de caractères et des caractères en plus/ toto"
L'idée est de ne pas recopier la chaîne de caractères recherchée dans la deuxième partie de la commande.
Quelle est la syntaxe ?
Merci d'avance.
Amicalement.
Jean-Marie
P.S. Je viens enfin de trouver tout seul : Utilisation du caractère & dans la deuxième partie de la commande s.
Dernière modification par diesel (Le 21/11/2021, à 09:44)
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#2 Le 21/11/2021, à 10:00
- ar barzh paour
Re : [RÉSOLU] Optimisation commande sed
text1="un jour"
text2="comme un autre"
sed "s/${text1}/${text1} ${text2}/" <<< $text1
un jour comme un autre
Dernière modification par ar barzh paour (Le 21/11/2021, à 10:01)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#3 Le 21/11/2021, à 10:59
- nany
Re : [RÉSOLU] Optimisation commande sed
Bonjour,
sed -ri 's/(Une très longue chaîne de caractères)/\1 et des caractères en plus/' toto
P.S. Je viens enfin de trouver tout seul : Utilisation du caractère & dans la deuxième partie de la commande s.
Oui, et c’est plus propre quand il n’y a qu’un seul bloc recherché à remettre.
Dernière modification par nany (Le 21/11/2021, à 11:03)
Hors ligne
#4 Le 21/11/2021, à 12:58
- diesel
Re : [RÉSOLU] Optimisation commande sed
Merci pour l'intérêt que vous avez porté à ma question.
Finalement, j'ai fait un peu différemment. Mon problème était d'ajouter une chaîne de caractères au bout d'une ligne d'un fichier de service systemd.
Et j'ai fait en sorte que la commande ne soit active qu'une seule fois (des fois que j'essayerais de l'appliquer plusieurs fois sans faire attention ; oui, oui, j'en suis capable... ).
J'ai donc écrit le code suivant :
sudo sed -i "/^After=sssd.service$/ s/.*/& network-online.target/" /etc/systemd/system/printer/cups.service
Amicalement.
Jean-Marie
Dernière modification par diesel (Le 21/11/2021, à 13:01)
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne