2010-06-29 8 views
14

मैं कुछ पुराने कोड पर काम कर रहा हूँ -e sed और मैंने पाया कि मैंक्या एसईडी -E के बीच का अंतर और

sed -E 's/findText/replaceWith/g' #findText would contain a regex 

का उपयोग करते थे, लेकिन मैं अब कोशिश

sed -e 's/findText/replaceWith/g' 

ऐसा लगता है एक ही काम करने के लिए, या यह करता है? मुझे याद है कि मैंने ऐसा करने का एक कारण बताया है लेकिन मुझे याद नहीं है और "मैन sed" करने में मदद नहीं होती है क्योंकि उनके पास कुछ भी नहीं है-केवल यही है जो ईथर को ज्यादा समझ में नहीं आता है।

-e, --expression=script 
    Append the editing commands in script to the end of 
    the editing command script. script may contain more 
    than one newline separated command. 

मैंने सोचा था कि -e मतलब यह एक regex के साथ मेल खाएगा ...

GNU sed version 4.2.1 

उत्तर

28

स्रोत कोड से, -E बीएसडी के साथ संगतता sed के लिए एक गैर-दस्तावेजी विकल्प है।

/* Undocumented, for compatibility with BSD sed. */ 
case 'E': 
case 'r': 
    if (extended_regexp_flags) 
    usage(4); 
    extended_regexp_flags = REG_EXTENDED; 
    break; 

और manual से, -E बीएसडी sed में विस्तारित नियमित अभिव्यक्ति का समर्थन करने के लिए प्रयोग किया जाता है।

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