टर्मिनल में आउटपुट के लिए रैपिंग लाइन को अक्षम करें


69

मैं अक्सर टर्मिनल में आउटपुट पढ़ता हूं जो लपेटे जाते हैं क्योंकि वे बहुत लंबे हैं। चूंकि कोई रास्ता नहीं है कि मैं मुद्रित आउटपुट को संशोधित कर सकता हूं, मुझे टर्मिनल को क्षैतिज स्क्रॉलिंग के लिए अनुमति देने की आवश्यकता है।

क्या कोई संशोधन है जो मैं लाइन रैपिंग को निष्क्रिय करने और क्षैतिज स्क्रॉलिंग की अनुमति देने के लिए डिफ़ॉल्ट ओएस एक्स टर्मिनल के लिए कर सकता हूं ?

या आप एक और विकल्प जानते हैं जिसका मैं उपयोग कर सकता हूं?


पुराना सवाल है, लेकिन मुझे लगता है कि यह अभी भी अनसुलझा है। मैं एक ही जवाब के लिए की जरूरत में हूँ, के बाद से मेरे लिए मैं आगे के उदाहरण जीसीसी के लिए उत्पादन को संपादित नहीं कर सकते हैं: gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html ध्वज के साथ -fmessage-length=0सेट, मैं अभी भी बहु मिल लाइन चेतावनी / त्रुटि आउटपुट। और मैं (अभी के लिए) नहीं।
माइकल ट्रू 20

जवाबों:


51

tput किया चाल मेरे लिए:

tput rmam

लाइन रैपिंग अक्षम करता है।

tput smam

लाइन रैपिंग सक्षम करता है।


13
+1 लेकिन क्षैतिज स्क्रॉलिंग को भी जोड़ने का कोई तरीका?
एरिक Allik

तीर कुंजी मेरे लिए क्षैतिज रूप से अगली स्क्रीन पर जाने के लिए काम करती है।
michid

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

2
अच्छा मिल गया! अपने आप को यादगार zsh उपनाम से जोड़ा: alias wrapon='tput rmam'&alias wrapoff='tput smam'
क्रिस जे एलन

2
आज्ञाकारी आज्ञाओं के बारे में बात करें
एंडी

7

के माध्यम से उत्पादन पाइप less -S:

   -S or --chop-long-lines
          Causes lines longer than the screen width to be chopped (truncated)
          rather than wrapped.  That is, the portion of a long line that does
          not fit in the screen width is not shown.  The default is  to  wrap
          long lines; that is, display the remainder on the next line.

मैंने यह बताने की कोशिश की कि यहाँ क्या हो सकता है , हालाँकि यह एक स्क्रॉलबार के साथ क्षैतिज रूप से स्क्रॉल करने का परिणाम नहीं होगा, जैसा कि आप चाहते हैं।


6

iTerm 2 लाइन रैप को अक्षम करने का समर्थन नहीं करता है। आप बस कम या कटौती का उपयोग कर सकते हैं:

less /var/log/system.log
expand /var/log/system.log | cut -c 1-$COLUMNS
less -s <<< "$(osascript -e 'tell app "Terminal" to contents of window 1')"

1

यदि आप हैं (जैसा कि अन्य लोग एक समाधान के रूप में सुझाव देते हैं, हालांकि मुझे लगता है कि आपने प्रत्यक्ष आउटपुट के बारे में पूछा था) फिर आउटपुट को एक somename.log फ़ाइल में रीडायरेक्ट करें और इसे एप्लिकेशन> यूटिलिटीज> लॉग-व्यूअर (या कमांडलाइन के रूप में open somename.log) के साथ खोलें ।

यह टर्मिनल में नहीं है, लेकिन मुझे बड़ी मात्रा में आउटपुट (खोज, स्क्रॉलिंग, फ़िल्टरिंग) से निपटने के लिए लॉग व्यूअर सबसे उपयुक्त लगा।


मुझे लगता है कि तुम Console.appसही मतलब है ? Log Viewer.appउपयोगिताओं में कोई नहीं है। हालाँकि, कंसोल भी लपेटता है, केवल अंतर यह है कि लंबी लाइनें डिफ़ॉल्ट रूप से अनुबंधित होती हैं। आपको उन्हें सब कुछ पढ़ने के लिए क्लिक करना होगा - इसलिए, यह दुर्भाग्य से मदद नहीं करेगा।
जेंटमैट

0

आप जो लपेटना बंद करने की कोशिश कर रहे हैं उसके आधार पर आप विम का उपयोग कर सकते हैं। तो लंबी लाइनों के साथ फ़ाइल पर विम लॉन्च करें, और फिर टाइप करें:

:se nowrap

1
यह मदद नहीं करेगा, क्योंकि मैं फाइलें नहीं पढ़ रहा हूं। मैं नेटवर्क जानकारी को lsof के माध्यम से पढ़ रहा हूं।
जेंटमैट

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