क्या मैं 'मैन' को लोअर केस सेंसिटिव मैचिंग के लिए मजबूर कर सकता हूं?


10

जब मैं मैन पेज खोजता हूं, तो खोज संवेदनशील होती है, लेकिन केवल ऊपरी अक्षरों के संबंध में। जैसे, xमैच होगा xऔर Xजबकि Xकेवल मैच x। यह man-dbमनुष्य का संस्करण है, जिसका उपयोग फेडोरा व्युत्पन्न प्रणालियों पर डिफ़ॉल्ट रूप से किया जाता है और दूसरों पर उपलब्ध होता है। man manडिफ़ॉल्ट पेजर है less -s$LESSपर्यावरण में परिभाषित नहीं है, मेरा $PAGERबस है less, और मेरे पास कम के लिए कोई उपनाम नहीं है।

यह व्यवहार नहीं है जब मैं lessअपने दम पर आह्वान करता हूं ।

वैसे भी xलोअरकेस xका उपयोग करने के लिए केवल लोअरकेस से मेल खाने के लिए मजबूर करना है man?


1
डिफ़ॉल्ट सख्त केस संवेदनशीलता है। आपके द्वारा बताई गई ध्वनियाँ जैसे आपके LESSपर्यावरण चर में समाहित हैं -i
manatwork

1
lessआपके पास क्या संस्करण है? क्या आप के लिए एक उपनाम निर्धारित है less? LESS या LESSOPEN env vars सेट है? डिफ़ॉल्ट रूप से केवल मैचों के lessलिए एक खोज , नहींxxX
bsd

क्या हमारे पास पहले से यह क्यू नहीं था? मुझे लगता है कि हाउक ने इसे पूछा, मैं इसकी तलाश करूंगा .... (एसएलएम 5 मिनट से पहले वापस आ जाता है। टिप्पणी पर समाप्त होता है ...) यह एक, एक डुबकी नहीं है लेकिन ऐसा लगता है जैसे आप पूछ रहे हैं, नहीं? unix.stackexchange.com/questions/116395/...
SLM

@ एसएलएम, यह मेरी पहली प्रतिक्रिया भी थी, लेकिन जैसा कि प्रश्न के स्वामी ने उस प्रश्न में भाग लिया , मुझे लगता है कि वह इसके बारे में जानता है।
manatwork

@manatwork echo $LESS= कुछ भी नहीं। नोट यह मामला असंवेदनशील नहीं है - लेकिन यह केवल संवेदनशीलता WRT ऊपरी मामले को लागू करता है। @ बड़बड़ाना alias | grep less= कुछ नहीं। manहालाँकि यह केवल (यह मैंड, btw) के माध्यम से लागू होता है । मुझे यकीन है कि मैंने इसके बारे में कहीं पहले पढ़ा है ...
गोल्डीलॉक्स

जवाबों:


3

आदमी बुला रहा है कम; मैन स्तर पर एकमात्र नियंत्रण यह चुन रहा है कि किस विकल्प के साथ कम कॉल किया जाए।

कम खोज मामले संवेदनशीलता को दो विकल्पों द्वारा नियंत्रित किया जाता है।

  • तो -Iप्रभाव में है, तो खोज केस-संवेदी हैं: या तो aया Aदोनों मैच के लिए इस्तेमाल किया जा सकता aहै और A
  • यदि -iप्रभाव में है, लेकिन नहीं है -I, तो खोजें केस-असंवेदनशील हैं, लेकिन केवल अगर पैटर्न में कोई अपरकेस अक्षर नहीं है।

यदि आप -Iकम के लिए एक डिफ़ॉल्ट विकल्प बनाते हैं , तो सभी खोजों को मैन पेजों में भी असंवेदनशील हो जाएगा।

मैन-डीबी LESSपर्यावरण चर के माध्यम से पेजर को अतिरिक्त विकल्प देता है , जो कमांड लाइन विकल्पों के समान ही कम व्याख्या करता है। सेटिंग कठिन समय पर कठिन-कोडित है और इसके साथ शुरू होती है -i। (मान "-ix8RmPm%s$PM%s$"मैन-डीबी 2.6.2 के रूप में है; P…$भाग शीघ्र स्ट्रिंग है।)

यदि आप केस-संवेदी होने के लिए मैन पेजों में खोज नहीं करना चाहते हैं, या यदि आप चाहते हैं कि वे हमेशा केस-इन्सेंसिव रहें, तो मैन-डीबी में इसे कॉन्फ़िगर करने का कोई तरीका नहीं है। आप manएक रैपर या रैपर स्क्रिप्ट के लिए एक उपनाम बना सकते हैं LESS, जो एनवायरमेंट वैरिएबल को मैनिपुलेट करता है, क्योंकि मैन-डीबी वर्तमान मूल्य के लिए उसकी सामग्री को वर्तमान मूल्य पर प्रस्तुत करता है:

alias man='LESS="$LESS -I" man'

-iविकल्प को बंद करने और इस प्रकार खोज को हमेशा पृष्ठों में डिफ़ॉल्ट रूप से केस-संवेदी बनाते हैं:

alias man='LESS="$LESS -+i" man'

आप पर्यावरण चर LESSको सेट करके हार्ड-कोड के लिए एक अलग मान भी बना सकते हैं MANLESS, लेकिन यदि आप ऐसा करते हैं, तो manबस LESSइसके मूल्य पर सेट होता है MANLESS, आप कस्टम शीर्षक लाइन ("मैनुअल पेज foo(42)") और अन्य उपहार (विशेष रूप से, बनाते हैं) खो देते हैं -Rबोल्ड और रेखांकित स्वरूपण के लिए शामिल करना सुनिश्चित करें)।


1

इस तरह है less's -i(कमांड लाइन स्विच) "केस संवेदी" मोड में काम करता है (यानी, यह अभी भी ऊपरी मामले के लिए संवेदनशील है)। जैसा कि गाइल्स बताते हैं, इसका उपयोग मानव-डीबी में संकलित किया गया है।

गाइल्स के उत्तर में उल्लिखित तरीके के अलावा WRT एक उपनाम +-iया रिवाज सेट करते हैं MANLESS, आप एक बार मैन पेज के खुलने पर -i(जो स्विच को चालू और बंद कर देता है) सख्त मामले को टॉगल कर सकते हैं ; आपको एक छोटा सा "केस सर्च में महत्वपूर्ण है" संदेश दिखाई देगा और अब xकेवल xऔर Xकेवल मैच होगा X

मैन-डीबी का manएक -Iस्विच है, लेकिन यह मैन पेज की खोज पर लागू होता है - उदाहरण के लिए, डिफ़ॉल्ट रूप man BASHसे आपको बैश मैनुअल पेज देगा, जबकि man -I BASHऐसा नहीं होगा।


0

"वैसे भी xलोअरकेस xका उपयोग करने के लिए केवल लोअरकेस से मेल खाने के लिए मजबूर करने के लिए है man?"

यहाँ एक तरीका है

man -Tascii manpage |less

मुझे विवरण नहीं पता है, लेकिन roffप्रसंस्करण मार्कअप कर रहा है और पेजर अन-मार्क किए गए टेक्स्ट से मेल खा रहा है, भले ही वह चिह्नित टेक्स्ट प्रदर्शित कर रहा हो।
बहुत भ्रामक, उम्मीद है कि एक nroffगुरु पाइपलाइन समझा सकता है।


यह मेरे GUI टर्मिनल ( ESC[1mप्रकार अनुक्रमों से भरा ) में गड़बड़ी पैदा करता है ।
गोल्डीलॉक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.