2012-07-28 8 views

उत्तर

-2

\ एक बच निकलने वाला चरित्र है। इसका मतलब यह है कि 'को पाठ के रूप में माना जाना चाहिए, न कि नियंत्रण चरित्र के रूप में।

+3

लेकिन यहां तक ​​कि यदि टेक्स्ट फ़ाइल में एक एकल कोट नहीं है, तो grep अभी भी फ़ाइल में सभी पंक्तियों से मेल खाता है। मुझे लगता है कि ओपी क्या पूछ रहा है। – theon

+0

हां, यह अजीब बात है कि grep शब्दशः एकल उद्धरण – perreal

3

यह grep का वास्तव में अजीब बीवियर है, मुझे नहीं पता कि इसे कैसे समझाया जाए, लेकिन मुझे ध्यान रखना चाहिए कि \' किसी भी चरित्र से मेल नहीं खाता है। ऐसा लगता है कि यह $ रूप में एक ही अर्थ है:

$ echo x | grep "x\'" 
x 
$ echo xy | grep "x\'" 
$ echo x | grep "\'x" 

अद्यतन 1

के रूप में यह (लिंक के लिए रिचर्ड Sitze करने के लिए धन्यवाद) में http://www.gnu.org/software/findutils/manual/html_node/find_html/grep-regular-expression-syntax.html कहा गया है यह वास्तव में $ रूप में एक ही अर्थ है।

$ echo x | grep 'x$' 
x 
$ echo x | grep 'x$$' 
$ echo x | grep "x\'" 
x 
$ echo x | grep "x\'\'" 
x 
$ echo x | grep "x\'\'\'" 
x 

आप \' रूप में कई बार के रूप में आप चाहते हैं लेकिन ऐसा $ के लिए नहीं है निर्दिष्ट कर सकते हैं: लेकिन इस बीच मैं \' और $ के बीच एक अंतर का उल्लेख किया गया है। केवल एक $ होना चाहिए।

एक और महत्वपूर्ण टिप्पणी। मैनुअल का कहना है:

‘\'’ matches the end of the whole input 

लेकिन सख्ती से बोला कि सच नहीं है क्योंकि \' मैचों न केवल पूरे इनपुट के अंत लेकिन हर एक लाइन भी के अंत:

$ (echo x; echo y) | grep "\'" 
x 
y 

$ वास्तव में कैसे करता है।

+0

के लिए सभी इनपुट से मेल खाता है मेरे लिए '$' और '\ 'थोड़ा अलग व्यवहार करता है। 'echo x | grep "$ x" 'मैचों, लेकिन 'echo x | grep "\ 'x" 'मेल नहीं खाता है। – theon

+3

आपको 'grep' $ x'' नहीं 'grep "$ x" 'लिखना होगा; क्योंकि '" $ x "' शैल द्वारा विस्तारित किया जाएगा और '" $ x "' ''' (कुछ भी नहीं) जैसा ही होगा। बस 'echo "$ x" 'और' echo '$ x'' –

+0

आज़माएं। अच्छी बात। – theon

3

मैं नियमित अभिव्यक्ति की इस सुविधा में पता नहीं था। लेकिन यह नियमित-expressions.info पर end of the string एंकर के रूप में सूचीबद्ध है।

यह केवल जीएनयू बेसिक और विस्तारित नियमित अभिव्यक्तियों में सभी रेगेक्स कार्यान्वयन में मौजूद नहीं है, अधिक जानकारी के लिए यह compatibility chart देखें।

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