2012-05-30 12 views
8

provo a cancellare tutte le linee che Inizio con alcuni caratteri speciali opzionali seguiti da blubb:eliminare linee con partita sed una regex speciale

thats la linee Voglio partita:

#blubb 
*blubb 
-blubb 
blubb 

questo è dovrebbe farlo , ma non lo lavoro :(

sed "/^.?blubb$/d" -i special.conf 
sed "/^[#*-]?blubb$/d" -i special.conf 

Ha qualcuno la soluzione giusta ?

risposta

11

Utilizzare questo comando sed:

sed -i.old '/^[#*-]\{0,1\}blubb/d' special.conf 

O

sed -i.old -E '/^[#*-]?blubb/d' special.conf 

O

sed -i.old -r '/^[#*-]?blubb/d' special.conf 
+0

perfetta :) grazie! – Thomas

+0

'sed -i.old '/^[# * -] \? Blubb/d' special.conf' potrebbe funzionare anche. – potong

+0

@potong: in realtà '\?' Non ha funzionato per me sul mio Mac. – anubhava

Problemi correlati