पाठ के रूप में एक फ़ाइल प्रदर्शित करने के लिए कम बल


14

कभी-कभी कम गलत तरीके से फ़ाइल को बाइनरी के रूप में पहचानते हैं और एलएचएस पर हेक्सडंप दिखाने की कोशिश करते हैं (आमतौर पर गैर-अल्फ़ान्यूमेरिक वर्ण वाले होते हैं लेकिन अभी भी मुद्रण योग्य ASCII वर्ण होते हैं)। इसे पाठ के रूप में पहचानने के लिए कैसे मजबूर किया जाए?


दूसरे जवाब की तलाश में। मेरे पास एक लॉग फ़ाइल है जो cat somefileASCII के रूप में दिखाई देती है, लेकिन less somefileकहते हैं कि बाइनरी हो सकती है और इस तरह प्रदर्शित होती है। echo $LESSOPENखाली है और less -Lमदद नहीं करता है।
नाथन लॉन्ग

2
@NathanLong यह संभवत: एक नया प्रश्न खोलने के लिए स्वीकार्य होगा क्योंकि यहाँ समाधान आपकी समस्या का समाधान नहीं करता है (बस ध्यान दें)। हालाँकि जब आप कहते हैं कि "द्विआधारी हो सकता है और इस तरह प्रदर्शित होता है", तो क्या आप कह रहे हैं कि यह डेटा का एक हेक्स प्रतिनिधित्व प्रदर्शित करता है, या आप कच्चे बाइनरी डेटा (सभी अजीब प्रतीकों और इस तरह के) को देखते हैं?
पैट्रिक

LHS क्या है? यह मेरे लिए नया है।
dfc

जवाबों:


19

मुझे लगता है कि आपके पास (या आपके वितरण के लिए) एक LESSOPENफ़िल्टर सेट है lesslessफ़िल्टर का उपयोग न करने के लिए निम्नलिखित को बताने का प्रयास करें :

less -L my_binary_file

आगे की खोज के लिए, यह भी प्रयास करें echo $LESSOPEN। इसमें संभवतः एक शेल स्क्रिप्ट ( /usr/bin/lesspipeमेरे लिए) का नाम है, जिसे आप यह देखने के लिए पढ़ सकते हैं कि किस प्रकार के फिल्टर हैं। इनपुट प्रीप्रोसेसर सेक्शन को भी देखें man lessऔर पढ़ें ।


4

मामला LESSOPENनहीं होने के मामले के लिए। निम्नलिखित lessविकल्पों की कोशिश की जा सकती है:

  1. -fया --force: गैर-नियमित फ़ाइलों को खोलने की अनुमति देने के अलावा, यह "बाइनरी फ़ाइल खोलने पर चेतावनी संदेश को भी दबा देता है"।
  2. -rया --raw-control-chars: "प्रदर्शित किए जाने वाले कच्चे नियंत्रण वर्णों का कारण बनता है। डिफ़ॉल्ट को कैरेट संकेतन का उपयोग करके नियंत्रण वर्णों को प्रदर्शित करना है, उदाहरण के लिए, एक नियंत्रण-ए (ऑक्टल 001) को प्रदर्शित किया जाता है ^A। चेतावनी: जब -rविकल्प का उपयोग किया जाता है, तो कम ट्रैक नहीं रख सकता है। स्क्रीन की वास्तविक उपस्थिति (चूंकि यह इस बात पर निर्भर करता है कि स्क्रीन प्रत्येक प्रकार के नियंत्रण वर्ण पर कैसे प्रतिक्रिया देती है)। इस प्रकार, विभिन्न प्रदर्शन समस्याओं का परिणाम हो सकता है, जैसे कि लंबी लाइनें गलत जगह पर विभाजित हो जाती हैं।
  3. -Rया --RAW-CONTROL-CHARS: -rऊपर का कमजोर रूप , केवल ANSI "रंग" एस्केप सीक्वेंस "रॉ" फॉर्म में आउटपुट हैं। "-R के विपरीत, स्क्रीन उपस्थिति को ज्यादातर मामलों में सही ढंग से बनाए रखा जाता है।" यह उपयोगी है यदि आप उदाहरण के लिए एएनएसआई रंग नियंत्रण अनुक्रम का उपयोग करने वाली लॉग फ़ाइल को देख रहे हैं।

आप बिना रीअरेन्निग के -बाद कीज़ दबाकर प्रयोग कर सकते हैं । सेटिंग को स्थायी बनाने के लिए आप इन विकल्पों को पर्यावरण चर में जोड़ सकते हैं (जैसे अपनी शेल प्रोफाइल फ़ाइल को संशोधित करके); यदि आपका टर्मिनल रंग दिखा सकता है तो मैं आपकी सेटिंग में जोड़ने की सलाह देता हूं । आपको यह सुनिश्चित करना चाहिए कि आपका टर्मिनल आपकी टेक्स्ट फ़ाइल के समान वर्ण एन्कोडिंग का उपयोग करने के लिए कॉन्फ़िगर किया गया है।rlessLESS-RLESS

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