मैं जानना चाहता हूं कि किन फाइलों में स्ट्रिंग है $Id$
।
grep \$Id\$ my_dir/mylist_of_files
0 घटनाएँ देता है।
मुझे पता चला कि मुझे उपयोग करना है
grep \$Id$ my_dir/mylist_of_files
तब मैं देखता हूं कि $Id
आउटपुट में रंगीन है, अर्थात यह मिलान किया गया है।
मैं दूसरे से कैसे मेल कर सकता हूं $
और \$Id\$
काम क्यों नहीं करता।
इससे कोई फर्क नहीं पड़ता कि दूसरा $
अंतिम चरित्र है या नहीं।
मैं grep
2.9 का उपयोग करता हूं ।
अपना प्रश्न पोस्ट करने से पहले, मैंने google का उपयोग किया ...
Test2 नामक फ़ाइल में $ (डॉलर का चिह्न) खोजने के लिए, दर्ज करें:
grep \\ $ test2
\\ (डबल बैकस्लैश) वर्ण शेल कमांड को एक $ $ (सिंगल बैकस्लैश, डॉलर साइन) पास करने के लिए मजबूर करने के लिए आवश्यक हैं। \ N (एकल बैकस्लैश) वर्ण, grep कमांड को निम्न चरित्र (इस उदाहरण में $) को एक अभिव्यक्ति चरित्र के बजाय शाब्दिक चरित्र के रूप में मानता है। बैकस्लैश जैसे भागने के पात्रों का उपयोग करने की आवश्यकता से बचने के लिए fgrep कमांड का उपयोग करें।
लेकिन मुझे समझ में नहीं आता कि क्यों grep \$Id
काम करता है और क्यों grep \\$Id\\$
नहीं करता है।
मै थोड़ा अस्पष्ट हूँ...
grep -F '$Id$'
।