2012-05-30 8 views
8

मैं सभी लाइनों जो blubb के बाद कुछ वैकल्पिक विशेष वर्ण के साथ beginn को हटाने का प्रयास हटाएँ:एसईडी मैच के साथ लाइनों एक विशेष regex

thats लाइनों मैं चाहता हूँ मैच:

#blubb 
*blubb 
-blubb 
blubb 

यह thats क्या करना चाहिए है, लेकिन न काम :(

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

किसी सही समाधान है?

उत्तर

11

उपयोग इस sed कमान:

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

या

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

या

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

सही :) धन्यवाद! – Thomas

+0

'sed -i.old'/^ [# * -] \? Blubb/d 'special.conf' भी काम कर सकता है। – potong

+0

@ पॉटोंग: वास्तव में मेरे मैक पर मेरे लिए काम नहीं किया। – anubhava

संबंधित मुद्दे