#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
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
(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
merci bien
je cherche egalement a remplacer un texte
sinon j'avais test le /n mais pas le /n/n
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 /
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
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
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
des \ avant mais rien...
tu as du en oublier un, sinon ça fonctionnerait
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
++
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne