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 25/04/2008, à 10:45

Hizoka

(resolu) supprimer/modifier une ligne de texte dans un fichier

Bonjour,

1)
je sais comment ajouter une ligne de texte dans un fichier :

echo "J'ai un jaccuzi maison, je pete dedans" >>/home/hizoka/ma-vie.txt

(en fait si il est possible d'ajouter un saut de ligne ca m'interresse egalement)

mais je cherche surtout a supprimer cette ligne via commande egalement....

mais la je ne trouve pas trop comment on fait...


2)
Je cherche egalement a savoir comment on peut faire pour lui dire de remplacer mon texte dans le fichier

remplace le texte "J'ai un jaccuzi maison, je pete dedans" en "houla qu'est-ce que je raconte moi" dans le fichier ma-vie.txt

Un grand merci a ceux qui m'aideront smile

Dernière modification par Hizoka (Le 25/04/2008, à 14:50)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#2 Le 25/04/2008, à 10:53

iuchiban

Re : (resolu) supprimer/modifier une ligne de texte dans un fichier

Hizoka a écrit :

(en fait si il est possible d'ajouter un saut de ligne ca m'interresse egalement)

avec les caractères spéciaux :
\n : retour chariot (\n\n : laisse une ligne vide)
\t : tabulation

mais je cherche surtout a supprimer cette ligne via commande egalement....

mais la je ne trouve pas trop comment on fait...

merci

Si tu sais exactement ce qu'il y a dedans, tu peux faire :

cat /home/hizoka/ma-vie.txt | grep -v "<TaPhraseAEnlever> > /home/hizoka/ma-vie.txt.tmp
mv /home/hizoka/ma-vie.txt.tmp /home/hizoka/ma-vie.txt
rm /home/hizoka/ma-vie.txt.tmp

C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#3 Le 25/04/2008, à 10:56

Hizoka

Re : (resolu) supprimer/modifier une ligne de texte dans un fichier

mince mon edit a ete trop lent smile

merci bien

je cherche egalement a remplacer un texte smile

sinon j'avais test le /n mais pas le /n/n wink

merci bcp !!

EDIT : je n'arrive pas a enlever ma phrase, il me recree un fichier identique...

j'ai egalement test : cat /home/hizoka/ma-vie.txt | grep -v "<prout>" > /home/hizoka/ma-vie.txt.tmp

Dernière modification par Hizoka (Le 25/04/2008, à 11:10)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#4 Le 25/04/2008, à 12:04

Alain.g

Re : (resolu) supprimer/modifier une ligne de texte dans un fichier

Bonjour
Quelques exemples avec sed :

supprimer les lignes contenant "bonjour"

sed -i '/bonjour/d' fichier.txt

supprimer  les lignes contenant "bonjour" sans tenir compte de la case (Bonjour, BONJOUR etc...)

sed -i '/bonjour/Id' fichier.txt

supprimer  les lignes ne contenant QUE bonjour

sed -i '/^bonjour$/d' fichier.txt

supprimer  les lignes commençant par bonjour sans tenir compte de la case

sed -i '/^bonjour/Id' fichier.txt

supprimer  les lignes contenant "bonjour" ou "hello"

sed -i '/bonjour\|hello/d' fichier.txt

remplacer toutes les occurences de "bonjour le monde" par "hello the world"

sed -i 's/bonjour le monde/hello the word/g' fichier.txt

insérer une ligne contenant  "bonjour le monde" au début du fichier

sed -i '1i\bonjour le monde' fichier.txt

insérer un saut de ligne puis une ligne contenant "bonjour le monde" à la fin du fichier

sed -i  '$a\\nBonjour le monde' fichier.txt

insérer après une ligne contenant "bonjour le monde" une nouvelle ligne contenant "hello the word"

sed -i '/bonjour le monde/a\hello the word' fichier.txt

remplacer les lignes ne contenant que "hello the word" (insensiblement à la case) par "Bonjour le monde

sed -i '/^hello the word$/Ic\Bonjour le monde' fichier.txt

ou

sed -i 's/^hello the word$/Bonjour le monde/I' fichier.txt

-i modifie directement fichier.txt ; on peut utiliser -i.bak ou -i~ (par exemple) pour que l'original soit conservé dans le fichier "fichier.txt~" (ou .bak)
Ou alors ne pas utiliser -i et rediriger la sortie vers un fichier avec >

pour créer un saut de ligne avec \n en utilisant la commande echo, il faut lui ajouter l'option -e

Dernière modification par Alain.g (Le 25/04/2008, à 16:09)


Xubuntu Karmic !

Hors ligne

#5 Le 25/04/2008, à 12:39

iuchiban

Re : (resolu) supprimer/modifier une ligne de texte dans un fichier

sinon j'avais test le /n mais pas le /n/n wink

c'est \n avec un \ pas /n avec un / wink

sinon, avec sed c'est effectivement très puissant et je ne le maitrise pas encore.


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#6 Le 25/04/2008, à 14:47

Hizoka

Re : (resolu) supprimer/modifier une ligne de texte dans un fichier

en effet ca a l'air de grave dechirer....

vais essayé tout ca smile

merci bcp a vous deux !


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 25/04/2008, à 18:19

Hizoka

Re : (resolu) supprimer/modifier une ligne de texte dans un fichier

Mmmmhhhh

j'ai un petit probleme smile

je veux effacer la ligne :

none /proc/bus/usb usbfs devgid=46,devmode=664 0 0

il me repond :

sed: -e expression n°1, caractère 9: caractères inutiles après la commande

surement en probleme avec les /
j'ai essayé de mettre des "" et des \ avant mais rien...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#8 Le 25/04/2008, à 18:51

Alain.g

Re : (resolu) supprimer/modifier une ligne de texte dans un fichier

Hizoka a écrit :

des \ avant mais rien...

tu as du en oublier un, sinon ça fonctionnerait wink


Xubuntu Karmic !

Hors ligne

#9 Le 26/04/2008, à 00:59

Hizoka

Re : (resolu) supprimer/modifier une ligne de texte dans un fichier

merci, en effet j'avais du en zapper wink

++


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne