सीधे पक्षपाती दंड के साथ agrep


16

मैं उपयोग कर रहा हूँ tre-agrep (मैनपेज) के एक कार्यान्वयन, agrep (मैनपेज) , अनुमानित पैटर्न मिलान करने के लिए। यह उपयोगिता Levenshtein दूरी के आधार पर मैचों की खोज करती है , और उपयोगकर्ता प्रतिस्थापन, प्रविष्टि, या विलोपन संपादन के लिए लागू दंड को कॉन्फ़िगर कर सकता है।

हालाँकि, मैं क्वेरी की लंबाई के पार अलग-अलग वजन के साथ लागू करना चाहूंगा, अर्थात् दाईं ओर से क्वेरी के आरंभ (बाएं छोर) पर विलोपन के लिए कम वजन के साथ। manइस उपयोगिता के लिए पेज का संकेत नहीं है नियंत्रण की है कि इस तरह के एक स्तर संभव है।

क्या अन्य कमांड लाइन उपकरण हैं जहां बेमेल दंड पर बेहतर नियंत्रण के साथ अनुमानित मिलान संभव है?


5
AFAIK, agrep एकमात्र है। मुझे आश्चर्य है कि आप भी इसके बारे में जानते हैं, UNIX दुनिया में इसकी सापेक्ष अस्पष्टता को देखते हुए (जो बहुत बुरा है)। सिद्धांत रूप में, आप इन भारों को स्रोत कोड में समायोजित कर सकते हैं, लेकिन यह व्यावहारिक है या नहीं, मुझे नहीं पता। क्या आपने उपकरण के लेखकों या यहां तक ​​कि मूल कागजात पर संपर्क करने की कोशिश की है, जिस पर वे आधारित हैं? ध्यान रहे, वे शायद पुराने
फार्ट

3
@Otheus पुराने farts अभी भी लिखने कोड को ;-) में सक्षम हैं
Kusalananda

पाइथन / अक्क में अभिव्यक्तियों के रूप में परिभाषित लागतों को सम्मिलित / हटाने / बदलने के साथ एक लेवेन्शिन-मिलान उपयोगिता लिखना मुश्किल नहीं होगा। थकाऊ भाग, वास्तव में, सभी संभावित कमांड-लाइन विकल्प हैं। यदि ओपी एक सामान्य कमांड लाइन दिखाने के लिए तैयार है, और बताएं agrepकि वास्तव में उन्हें कौन से विकल्प की आवश्यकता है, तो मैं संभवतः कुछ कोड़ा मार सकता हूं। दो तारों की लेवेनशेटिन दूरी की गणना करना बहुत आसान है, वास्तव में। मैं एक खोल स्क्रिप्ट का सुझाव देना चाहता हूँ जो GNU awk मंगलाचरण के चारों ओर लिपटा हो।
नाममात्र पशु

जवाबों:


1

नहीं, इस तरह का अनुकूलन लिनक्स उपकरण के दायरे के बाहर और अपने कोड लिखने के दायरे में आता है। एक लोकप्रिय उच्च स्तरीय भाषा (जावा, जावास्क्रिप्ट, पायथन, पर्ल) का उपयोग सी की तुलना में थोड़ी अधिक मेमोरी का उपयोग करेगा और स्क्रिप्टेड भाषाओं के लिए थोड़ा धीमा होगा लेकिन संभावना है कि यह आपके उपयोग के मामले के लिए नगण्य होगा। इसलिए स्टैकओवरफ्लो पर फिर से पूछें कि आपको क्या चाहिए और किसी एक लाइनर की पेशकश कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.