linux - एक स्ट्रिंग की खोज करने के लिए grep का उपयोग करना जिसमें उसमें एक बिंदु है




(6)

मैं आदेश का उपयोग कर एक स्ट्रिंग 0.49 (डॉट के साथ) खोजने की कोशिश कर रहा हूं

grep -r "0.49" *

लेकिन क्या हो रहा है कि मुझे अवांछित परिणाम भी मिल रहे हैं जिनमें स्ट्रिंग शामिल है जैसे 0449 , 0949 इत्यादि। बात लिनक्स है जो डॉट (।) को किसी भी चरित्र के रूप में मानती है और सभी परिणामों को बाहर लाती है। लेकिन मैं केवल परिणाम "0.4 9" के लिए प्राप्त करना चाहता हूं।


आप डॉट और अन्य विशेष पात्रों से बच सकते हैं \

जैसे। grep -r "0 \ .49"


आप भी उपयोग कर सकते हैं "[।]"

grep -r "0[.]49"

डॉट से बचें। नमूना आदेश होगा।

grep '0\.00'

बस से बचें .

grep -r "0\.49"


grep -F -r '0.49' * नियमित अभिव्यक्ति के बजाय 0.4 9 को "निश्चित" स्ट्रिंग के रूप में मानता है। यह बनाता है . इसका विशेष अर्थ खो दें।


grep regexes का उपयोग करता है; . एक regex में "किसी भी चरित्र" का मतलब है। यदि आप एक शाब्दिक स्ट्रिंग चाहते हैं, तो grep -F , fgrep उपयोग करें, या इससे बचें . \.







grep