[SHELL UNIX] Comment virer une chaine dans un fichier ?

Comment virer une chaine dans un fichier ? [SHELL UNIX] - Programmation

Marsh Posté le 03-04-2001 à 10:59:57    

Bon passons à un autre sujet...
 
Comment je peux faire en shell pour virer une chaine dans un fichier ? il y a bien la commande grep -v mais ecrire un fichier sur lui meme c'est pas le top et d'ailleurs ca marche pas...
 
quelqu'un a une idée ?  
 
Bien à vous.


---------------
"There's not such a thing as a stupid question, only stupid people..."
Reply

Marsh Posté le 03-04-2001 à 10:59:57   

Reply

Marsh Posté le 03-04-2001 à 11:10:39    

attention, grep -v te supprime des lignes entières
regarde tr.

Reply

Marsh Posté le 03-04-2001 à 11:35:27    

justement c une ligne entiere que je veux supprimer (mais merci kan meme, je connaissais tr ;-) )
Cela dit je veux garder le meme fichier et pas avoir ca sur la sortie standard


---------------
"There's not such a thing as a stupid question, only stupid people..."
Reply

Marsh Posté le 03-04-2001 à 11:41:44    

Pour ca, il n'y a rien de mieux que sed.
Bon, la syntaxe demande un chouia de pratique, mais c'est un outil efficace et eprouve.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 03-04-2001 à 11:42:38    

OK merci a tous les deux pour votre aide ;-)


---------------
"There's not such a thing as a stupid question, only stupid people..."
Reply

Marsh Posté le 03-04-2001 à 11:55:23    

J'ai du mal à comprendre sed...
 
est ce que par exemple je peux partir d'un fichier toto.txt contenant :
titi
toto
tutu
 
et et garder le meme fichier toto.txt ayant
titi
tutu
 
cad virer toto ...


---------------
"There's not such a thing as a stupid question, only stupid people..."
Reply

Marsh Posté le 03-04-2001 à 12:44:26    

scuse, pour sed, la sortie est sur stdout
(un script a la /^toto$/ {d} supprime la ligne toto).
Pour editer en place un fichier, c'est ed, dont les commandes sont nettement moins sympatiques.
 
Si tu crees un fichier cmd.ed qui contient:
g/^toto$/d
w
q
 
et que tu apelles ed ainsi:
cat cmd.ed | ed fichier_a_modifier
la ligne contenant toto sera viree en place.
(tu auras 2 lignes visibles: la premiere contient le nb de caracteres initiaux et la seconde le nb de caracteres finaux; tu peux les faire disparaitre avec un >/dev/null en fin de commande)
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 03-04-2001 à 12:50:50    

wouawou ! Merci bien ! Je vais regarder dans cette voix !
 :)  :)


---------------
"There's not such a thing as a stupid question, only stupid people..."
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed