मैं इस कोड का उपयोग करते हुए एक पाठ से रोक शब्दों को हटा रहा हूं
मेरे पास निम्नलिखित है
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
मैं परिणाम की उम्मीद कर रहा हूँ:
extensions
लेकिन मुझे लगता है (मुझे लगता है कि गलत है)
file
extensions
यह ऐसा है जैसे शब्द file
स्टॉपवार्ड फ़ाइल में छोड़ दिया गया है। अब यहाँ शांत सा है: अगर मैं stopwords फ़ाइल को संशोधित, एक शब्द / पत्र बदलकर i
, पहली पंक्ति पर अलग से किसी भी अन्य ascii अक्षर के लिए f
, i
, l
, e
, तो एक ही ग्रेप आदेश मुझे का एक अलग और सही परिणाम देता है extensions
।
यहां क्या चल रहा है और मैं इसे कैसे ठीक करूं?
मैं grep (BSD grep) 2.5.1-FreeBSD का उपयोग मैक OSX GNU बैश पर कर रहा हूँ, संस्करण 4.4.12 (1)
i
में पहले पैटर्न के बजाय पैटर्न को दूसरा बनाना stopwords
भी व्यवहार को बदल देता है।
grep
और न ही GNU grep
3.1 के साथ व्यवहार को पुन: पेश नहीं कर सकता ।
-x
बजाय लाइन रेगेक्स के लिए स्विच का उपयोग करना चाह सकते हैं-w
? हालाँकि मुझे लगता है कि-F
स्विच उनमें से किसी को भी रद्द कर देगा, या इसके विपरीत।