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/2011, à 13:04

yapupersone974

Sed : suppression point virgule début de ligne

Bonjour à tous,

Je suis en train d'écrire un script me permettant l'installation de plusieurs logiciels avec une configuration bien précise. Je dois donc modifier quelques fichiers de conf et je le fais à travers plusieurs commandes Sed, je rencontre malgré tout un problème.
J'ai dans un de mes fichiers une ligne du genre :
;ligne_a_modifier.txt

Et je souhaiterai supprimer le point virgule au début de la ligne, j'avais pensé à :

s/;ligne=a_modifier\.txt/ligne=a_modifier\.txt/

J'ai bien essayé d'échapper le point virgule mais impossible d'obtenir la ligne souhaitée, quelqu'un aurait il une idée pour solutionner mon problème ?

Petite précision, je n'en suis pas à ma première commande de substitution avec Sed, mais celle ci est assez récalcitrante et m'empêche d'avancer, je suppose que c'est lié au point virgule mais aucune certitude.

Merci d'avance, et bonne journée à tous.

Dernière modification par yapupersone974 (Le 09/09/2011, à 13:12)

Hors ligne

#2 Le 09/09/2011, à 14:25

binouche22

Re : Sed : suppression point virgule début de ligne

Voila :

sed 's/;ligne=a_modifier/ligne=a_modifier/g' fichier

binouche22

Hors ligne

#3 Le 09/09/2011, à 15:42

aduxas

Re : Sed : suppression point virgule début de ligne

Si tu veux supprimer tous les ; en début de ligne:

sed -i 's/^;//' fichier

Si tu veux une ligne spécifique

sed -i 's/^;\(ligne_a_modifier\)/\1/' fichier

L'option -i remplace dans le fichier meme.  Comme la substitution est unique, il n'y a pas besoin du g à la fin.  Il n'y a pas non plus besoin d'échapper le point \.txt dans la chaine de remplacement.

Dernière modification par aduxas (Le 09/09/2011, à 15:43)

Hors ligne

#4 Le 09/09/2011, à 17:54

Watael

Re : Sed : suppression point virgule début de ligne

salut,

"plus logiquement"

sed -i '/ligne_a_modifier/s/^;//' fichier

non?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 09/09/2011, à 19:35

aduxas

Re : Sed : suppression point virgule début de ligne

Tout à fait.

Hors ligne