Commande sed (sauvegarde nouveau fichier)

Résolu
Bulld0 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Bulld0 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Après avoir essayé toutes les options de sed, je ne trouve pas de facon pour réaliser mon besoin. Je souhaite supprimer des lignes (des informations inutiles comprises entre les mots BEGIN et END) d'un fichier test.conf dans ce genre la :

----- BEGIN -----
fqsfdqsdgdQSDdqsd
SQDfqsfnlksdADSQD
qsdkmlaAZDsqdkxqc
----- END -----

Le truc c'est que j'arrive à supprimer ces lignes mais à peine la commande arrétée, si j'ouvre le fichier, elles y sont... Comment faire s'il vous plait ? :'(

Merci d'avance
A voir également:

1 réponse

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
$ cat fichier
----- BEGIN -----
fqsfdqsdgdQSDdqsd
SQDfqsfnlksdADSQD
qsdkmlaAZDsqdkxqc
----- END -----
$ sed -i '/BEGIN/, /END/{//!d}' fichier
$ cat fichier
----- BEGIN -----
----- END -----
2
Bulld0 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup dubcek ! Peux tu m'expliquer à quoi sert {//!d} stp ? :)
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
ca permet de ne pas détruire (!d) les lignes qui contiennent BEGIN et END
sinon on enlève tout
$ sed  '/BEGIN/, /END/d' fichier
$
0
Bulld0 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention  
 
Yes merci t'es génial :)
0