Heren, dames 
Ik zit met de volgende uitdaging:
Ik draai een shellscript die een regel toevoegt aan een bepaald bestand, dit ziet er uit als:
2.2.2.2,off,DROP,on
Een tijd later draait weer een shellscript die dit ongedaan moet maken, kortom, de regel 2.2.2.2,off,DROP,on moet weer verwijderd worden uit dat bestand.
Na wat searches heb ik iig het idee dat de beste oplossing SED is.
Echter, ik kan niet vinden hoe ik een lijn verwijder.
Vervangen wel, bijv met sed s/watikwilverwijderen/vervangendoordit/ /bestand > /bestand
In mijn geval dus: sed s/2.2.2.2// /bestand > /bestand
De tekst zelf wordt dan wel verwijderd, maar de output wordt dan:
En dat gaat helaas niet werken, er mogen geen lege regels in voorkomen.
Kortom: Hoe kan ik met sed opgeven dat het als het een regel vindt dat voldoet aan een pattern (bijv 2.2.2.2) de gehele regel verwijderd
(en het resultaat gesaved)
Kon het in de documentatie van sed niet vinden.
Ik zit met de volgende uitdaging:
Ik draai een shellscript die een regel toevoegt aan een bepaald bestand, dit ziet er uit als:
2.2.2.2,off,DROP,on
Een tijd later draait weer een shellscript die dit ongedaan moet maken, kortom, de regel 2.2.2.2,off,DROP,on moet weer verwijderd worden uit dat bestand.
Na wat searches heb ik iig het idee dat de beste oplossing SED is.
Echter, ik kan niet vinden hoe ik een lijn verwijder.
Vervangen wel, bijv met sed s/watikwilverwijderen/vervangendoordit/ /bestand > /bestand
In mijn geval dus: sed s/2.2.2.2// /bestand > /bestand
De tekst zelf wordt dan wel verwijderd, maar de output wordt dan:
code:
1
2
3
4
| 4.4.4.4,off,DROP,on 3.3.3.3,off,DROP,on 1.1.1.1,off,DROP,on |
En dat gaat helaas niet werken, er mogen geen lege regels in voorkomen.
Kortom: Hoe kan ik met sed opgeven dat het als het een regel vindt dat voldoet aan een pattern (bijv 2.2.2.2) de gehele regel verwijderd
Kon het in de documentatie van sed niet vinden.
[ Voor 3% gewijzigd door DSmarty op 31-03-2004 11:38 ]