जवाबों:
एक सरल समाधान का उपयोग करना होगा
grep -aob "string to find" /dev/blockdev
इस प्रश्न के कई उत्तर हैं, जो इस बात पर निर्भर करते हैं कि आप वास्तव में क्या खोजना चाहते हैं।
यदि आप सभी को ढूंढना चाहते हैं चरित्र तार एक बाइनरी फ़ाइल के अंदर, फिर कमांड है तार : से नियम पुस्तिका ,
तार (1)
नाम
तार - फाइलों में प्रिंट करने योग्य पात्रों के तारों को प्रिंट करें।
.... दिए गए प्रत्येक फ़ाइल के लिए, जीएनयू तार प्रिंट करने योग्य चरित्र अनुक्रमों को प्रिंट करता है जो कम से कम 4 वर्ण लंबा होता है (या नीचे दिए गए विकल्पों के साथ दी गई संख्या) और उसके बाद एक अप्राप्य चरित्र होता है। डिफ़ॉल्ट रूप से, यह केवल ऑब्जेक्ट फ़ाइलों के आरंभीकृत और लोड किए गए वर्गों से तारों को प्रिंट करता है; अन्य प्रकार की फ़ाइलों के लिए, यह पूरी फ़ाइल से तार प्रिंट करता है।
यदि आप इसके बजाय एक बाइनरी फ़ाइल को खोजने में रुचि रखते हैं बाइनरी स्ट्रिंग , आप उपयोग कर सकते हैं bgrep (रेपो, AFAIK में नहीं):
bgrep बाइनरी फ़ाइलों के भीतर बाइनरी स्ट्रिंग्स की घटनाओं की खोज करने के लिए एक उपयोगिता है। जैसा कि इसके नाम से पता चलता है, इसका इंटरफ़ेस और डिज़ाइन सर्वव्यापी "grep" कमांड के बाद तैयार किया गया है, जिसका उपयोग पाठ फ़ाइलों में पाठ पैटर्न की घटनाओं को खोजने के लिए किया जाता है।
वैकल्पिक रूप से, आप निम्न उपयोग कर सकते हैं:
cat YourFile | hexdump -C | grep YourPattern
यह उपयोग करता है hexdump
: फिर मैनुअल से ,
hexdump (1)
नाम
hexdump - अस्की, दशमलव, हेक्साडेसिमल, ऑक्टल डंप
मैं सुविधाजनक का उपयोग करता हूं -C
प्रारूप:
-सी कैनन का हेक्स + ASCII डिस्प्ले। हेक्साडेसिमल में इनपुट ऑफसेट प्रदर्शित करें, उसके बाद सोलह स्पेस-अलग, दो कॉलम, हेक्साडेसिमल बाइट्स, इसके बाद% _p प्रारूप में समान सोलह बाइट्स '' '' वर्णों में संलग्न हैं।
जबकि कुछ लोग पसंद करते हैं -c
प्रारूप:
-सी एक-बाइट चरित्र प्रदर्शन। हेक्साडेसिमल में इनपुट ऑफसेट प्रदर्शित करें, इसके बाद सोलह अंतरिक्ष-पृथक, तीन कॉलम, अंतरिक्ष से भरे, प्रति पंक्ति इनपुट डेटा के वर्ण।