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 01/08/2014, à 21:01

Musyanon

[Résolu] Aide commande sed

Bonjour,

Voila, j'essai de comprendre comment fonctionne cette commande mais je n'y arrive pas.
J'aimerai faire quelque chose comme suit :

Ajouter un texte en début de ligne d'un fichier, j'ai essayé : sed -i '1imon texte' /vers/mon/fichier.txt
Mais ça ne fonctionne pas.

De plus j'aimerai ensuite pouvoir modifier tout les mot X par le mot Y vers /mon/fichier.txt

Merci pour votre aide smile

Dernière modification par Musyanon (Le 02/08/2014, à 01:49)

Hors ligne

#2 Le 01/08/2014, à 21:15

linuxm@c

Re : [Résolu] Aide commande sed

Musyanon a écrit :

Ajouter un texte en début de ligne

sed 's/^/mot-a-ajouter /'  source.txt > out.txt

Hors ligne

#3 Le 01/08/2014, à 22:25

pingouinux

Re : [Résolu] Aide commande sed

Bonsoir,

modifier tout les mot X par le mot Y

sed 's/X/Y/g' source.txt >out.txt

Hors ligne

#4 Le 02/08/2014, à 00:47

Musyanon

Re : [Résolu] Aide commande sed

Merci pour votre aide.
Toutefois je ne comprend pas la partie source.txt > out.txt
Pouvez vous me donné un exemple ?

Hors ligne

#5 Le 02/08/2014, à 01:14

linuxm@c

Re : [Résolu] Aide commande sed

Musyanon a écrit :

je ne comprend pas la partie source.txt > out.txt

source.txt => le nom de votre fichier avant la modification
out.tx        => le nom de votre fichier après la modification

Dernière modification par linuxm@c (Le 02/08/2014, à 01:15)

Hors ligne

#6 Le 02/08/2014, à 01:40

Musyanon

Re : [Résolu] Aide commande sed

linuxm@c a écrit :
Musyanon a écrit :

je ne comprend pas la partie source.txt > out.txt

source.txt => le nom de votre fichier avant la modification
out.tx        => le nom de votre fichier après la modification

Ah d'accord, mais ce n'est pas vraiment ce que je voulais, je voudrais que le fichier original soit modifier et non pas créer une copie modifier.
J'ai réussi à faire ce que je voulais avec : sed -i '1i\Ligne0' test.txt

Il me reste à trouver comment modifier tout les mots que je veux par un autre dans ce fichier.

Edite : J'ai trouvé : sed -i -e "s/Ligne0/jackpot/g" test.txt

Merci pour l'aide smile

Dernière modification par Musyanon (Le 02/08/2014, à 01:48)

Hors ligne

#7 Le 02/08/2014, à 06:19

pingouinux

Re : [Résolu] Aide commande sed

Et pour ajouter du texte en tête d'une ligne particulière :

sed -i '3s/^/texte_à_mettre_en_tête_de_la_ligne_numéro_3/' source.txt

Hors ligne

#8 Le 02/08/2014, à 12:36

linuxm@c

Re : [Résolu] Aide commande sed

Musyanon a écrit :

je voudrais que le fichier original soit modifier et non pas créer une copie modifier

Pour créer une copie

sed 's/^/mot-a-ajouter /'  source.txt > out.txt

Modifier la source seulement ( ajouter -i)

sed -i 's/^/mot-a-ajouter /'  source.txt 

Dernière modification par linuxm@c (Le 02/08/2014, à 12:37)

Hors ligne

#9 Le 03/08/2014, à 20:44

Musyanon

Re : [Résolu] Aide commande sed

Merci pour votre soutient !

Hors ligne