Grep पैटर्न में \ b का क्या अर्थ है?


12

यह आदेश क्या करता है?

grep "\bi\b" linux.txt

यह क्या खोज रहा है?


यह स्पष्ट हो सकता है, लेकिन सिर्फ अगर यह नहीं है, तो यहां (महत्वपूर्ण) अंतर के बीच एक नोट है \<...\>और \b...\b: `आप अप्रत्याशित परिणाम प्राप्त कर सकते हैं यदि आप मानते हैं कि दो पैटर्न समान व्यवहार करते हैं ... इस लिंक को
पीटर। हे

जवाबों:


13

\b एक नियमित अभिव्यक्ति में "शब्द सीमा" का अर्थ है।

इस grep कमांड के साथ, आप iफ़ाइल के सभी शब्दों को खोज रहे हैं linux.txtiएक पंक्ति की शुरुआत में या अंत में या एक वाक्य में दो अंतरिक्ष वर्णों के बीच हो सकता है।


भीख माँगने या अंत में हो सकता है ?? केवल रिक्त स्थान के बीच नहीं माना जाता है ??
अमात्य

1
मुझे उस बारे में अधिक जानकारी नहीं मिली है। लेकिन "i foo" और "bar i" जैसी पंक्तियों के साथ हाथ से कोशिश करते हुए, ऊपर grep कमांड को प्रदान किया गया regexp उन दोनों का मिलान कर रहा है।
19o में uloBasEI

1
अधिक सटीक रूप से, न केवल स्थान , बल्कि कोई भी गैर-शब्द चरित्र । जैसे -w --word-regexpस्विच करता है grep -w "i" linux.txt:। उदाहरण के लिए एक लाइन जैसे "<i> इटैलिक </ i>" भी मेल खाता है।
मैनेटवर्क

0

\b(शब्द सीमा) लंगर के स्थान पर इस्तेमाल किया जा सकता \<है और \>शुरुआत या एक शब्द के अंत दर्शाता है।

यदि यह एक की सामग्री है file:

Hi
this
is test file
to carry out few regular expressions

फिर:

$ grep -e '\ breg' फ़ाइल
कुछ reg ular अभिव्यक्तियों को करने के लिए
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.