Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/09/2020, à 19:19

john25

[Résolu] sed et caractères spéciaux

bonjour,
je cherche la bonne syntaxe pour une commande sed.

je cherche à remplacer directement dans un fichier en en faisant une sauvegarde (/etc/bash.bashrc),
ceci :

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

par cela (différence en gras/italique):

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h:\w\[\033[00m\]\$ '


Je ne parviens pas à le faire, j'ai dû tester 50 possibilités mais je ne trouve pas.
En exemple, la dernière que j'ai tapé (sûrement que les 3/4 de la syntaxe ne sont pas bon, merci de corriger tout ce qui ne va pas).

sed -i.bak 's|PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '|PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h:\w\[\033[00m\]\$ '|' /etc/bash.bashrc
 

Comment faire ?

Dernière modification par john25 (Le 09/09/2020, à 21:38)


Merci par Avance !

Hors ligne

#2 Le 09/09/2020, à 20:07

nany

Re : [Résolu] sed et caractères spéciaux

Bonjour,

Essaie ceci :

sudo sed -i.bak 's#\(.*\\\)\(u@\\h:\\w\)\(\\\$ .\)#\1\[\\033\[01;32m\\\]\\\2\[\\033\[00m\\\]\3#' /etc/bash.bashrc

Hors ligne

#3 Le 09/09/2020, à 21:36

john25

Re : [Résolu] sed et caractères spéciaux

Merci Nany, ça fonctionne nickel.

Illisible, mais ça fonctionne.
Je n'ai vu aucune documentation parler de "#" pour 'ponctuer' la commande.
Et je n'avais pas tenté d'échappement du style '\\\'.
J'aurai pu chercher encore des heures.

Encore Merci.


Merci par Avance !

Hors ligne