मेरे पास एक बड़ी फाइल है जिसमें प्रत्येक लाइन पर एक स्ट्रिंग है। यदि फ़ाइल में कोई स्ट्रिंग है, तो मैं जल्दी से निर्धारित करने में सक्षम होना चाहूंगा। आदर्श रूप से, यह एक बाइनरी चॉप टाइप एल्गोरिथ्म का उपयोग करके किया जाएगा।
कुछ Googling ने ध्वज के lookसाथ कमांड का खुलासा किया -bजो बाइनरी खोज एल्गोरिथ्म का उपयोग करके दिए गए उपसर्ग के साथ शुरुआत करने वाले सभी तारों का पता लगाने और आउटपुट करने का वादा करता है। दुर्भाग्य से, यह सही ढंग से काम नहीं करता है और स्ट्रिंग के लिए अशक्त परिणाम देता है जो मुझे पता है कि फ़ाइल में हैं (वे ठीक से बराबर grepखोज द्वारा वापस आ गए हैं)।
क्या किसी को इस फाइल को कुशलता से खोजने के लिए किसी अन्य उपयोगिता या रणनीति का पता है?
look -bमेरे लिए एक त्रुटि के साथ विफल रहा File too large। मुझे लगता है कि यह पूरी बात को स्मृति में पढ़ने की कोशिश कर रहा है।
lookकमांड को सही ढंग से कार्य करने के लिए, क्योंकि लगता है कि लोकेल को अनदेखा किया गया है और सी का उपयोग करता है जैसे हार्डकोडिंग को सॉर्ट करना, मैंने एक बग नहीं खोला है इस भ्रामक व्यवहार के कारण: Bugzilla.kernel.org/show_bug.cgi?id=198011