पिछले कमांड के आउटपुट से टेक्स्ट का उपयोग करना


16

EDIT अप्रैल, 2015: यदि आपके पास भी यही सवाल है, तो मैं http://xiki.org/ की भी जाँच करने की सलाह देता हूँ


मुझे पता है कि यह कैसे काम नहीं करता है, लेकिन मैं खुद को अक्सर कामना करता हूं कि पाठ का उपयोग करने का एक आसान तरीका था (इसे कॉपी करना, इसे संशोधित करना, आदि) जो पहले से ही कुछ पिछले कमांड आउटपुट से मेरे टर्मिनल विंडो इतिहास पर है।

मैंने इसकी कल्पना इस तरह की है:

मैं अपने बैश शेल में कमांड दर्ज करने के बारे में हूं और मुझे एहसास है कि मुझे कुछ ऐसा लिखने की जरूरत है जो स्क्रीन पर पहले से ही कुछ लाइनों के ऊपर है। मैं माउस के लिए पहुंच सकता हूं और इसका चयन कर सकता हूं, लेकिन मुझे इससे नफरत है। मैं इस समय वास्तव में क्या चाहता हूं कि मेरा पूरा टर्मिनल एक विशाल विम बफर बन गया, यह सब: संकेत, जो मैंने टाइप किया है, और उन कमांड से आउटपुट। सब कुछ। और फिर मैं कुछ पंक्तियों को कूद सकता था, शायद थोड़ा संपादित कर सकता था, और कुछ पाठ को यैंक कर सकता था। फिर, शेल मोड पर वापस लौटें और जो कुछ भी मैंने वर्तमान कमांड लाइन में डाला है उसे पेस्ट करें।

मुझे पता है कि कुछ विकल्प हैं:

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

  • माउस के लिए पहुंचने के लिए और कॉपी करने के लिए टेक्स्ट का चयन करें। लंगड़ा, परेशान, काश मैं ऐसा करने के लिए नहीं था, (यह जीयूआई स्टैकएक्सचेंज साइट नहीं है, है?)

  • मेरे (मैक ओएस एक्स) टर्मिनल एप्लिकेशन के "निर्यात टेक्स्ट को ..." विकल्प के रूप में उपयोग करने के लिए, और टर्मिनल टेक्स्ट को फ़ाइल में सहेजें। फिर फ़ाइल खोलें और इसके साथ काम करें। लगभग, लेकिन डिस्क पर फ़ाइल को सहेजने के चरण के माध्यम से क्यों जाएं?

तो सवाल यह है: आप इस स्थिति में क्या करते हैं? क्या कोई ट्रिक, टूल, शेल फीचर है जो इस परिदृश्य में उपयोगी हो सकता है? क्या आपने माउस का उपयोग करने के लिए अपने आप को इस्तीफा दे दिया है या आपको जो भी टाइप करने की आवश्यकता है उसे फिर से टाइप करें?

यह हो सकता है कि समस्या यह है कि मैं चीजों को 'यूनिक्स तरीके' से नहीं कर रहा हूं, लेकिन यह बात है, यह 2010 है और मैं अपने कर्सर से कुछ लाइनों को आसानी से कॉपी नहीं कर सकता?



जवाबों:


4

आप स्क्रिप्ट का उपयोग कर सकते हैं (-f का उपयोग यह सुनिश्चित करने के लिए कि यह हर बार फ्लश हो जाता है) और आपके पास फ़ाइल में सभी आउटपुट हो सकते हैं।

एक टर्मिनल मल्टीप्लेक्सर (स्क्रीन, tmux आदि) का उपयोग करें। उदाहरण के लिए, स्क्रीन के लिए http://web.mit.edu/gnu/doc/html/screen_11.html#

कमांड: कॉपी कॉपी / स्क्रॉलबैक मोड दर्ज करें। यह आपको वर्तमान विंडो से पाठ और उसके इतिहास को पेस्ट बफर में कॉपी करने की अनुमति देता है। इस मोड में vi-like फुल स्क्रीन एडिटर सक्रिय है, जिसमें नीचे दिए गए नियंत्रण हैं।

अन्य टर्मिनल मल्टीप्लेक्सर्स में निश्चित रूप से अधिक उन्नत क्षमताएं हैं।


ठीक है। मैंने अभी सीखा कि एक 'टर्मिनल मल्टीप्लेक्स' शायद वही है जिसकी मुझे आवश्यकता है। धन्यवाद। इसके अलावा, 'स्क्रिप्ट' कमांड संकेत के लिए धन्यवाद।
सर्जियो अकोस्टा

5

Tmux (एक टर्मिनल मल्टीप्लेयर) में आप वी + बफर मोड पर स्विच करने के लिए Ctrl + A- [दबा सकते हैं, जहाँ आप स्क्रीन के चारों ओर नेविगेट कर सकते हैं, बफर को आगे और पीछे स्क्रॉल कर सकते हैं, टेक्स्ट को कॉपी कर सकते हैं। डिफ़ॉल्ट शॉर्टकट वास्तव में Ctrl + B- है। [लेकिन यह स्पष्ट रूप से पुनर्गठित होने के लिए था। इसके अलावा, डिफ़ॉल्ट बफर मोड एमएसीएस है लेकिन आप इसे वीआई होने के लिए कॉन्फ़िगर कर सकते हैं।

Tmux की जाँच करें, यह वास्तव में एक महान आधुनिक टर्मिनल मल्टीप्लेक्स है। बफर के साथ काम करने के अलावा आप कई खिड़कियों में स्क्रीन को विभाजित कर सकते हैं, एक ही सत्र को कई टर्मिनलों आदि से जोड़ सकते हैं। अंतिम सुविधा के लिए आप इसे अपना लॉगिन शेल भी बना सकते हैं यदि आप इसे बताएं कि आपका वास्तविक शेल क्या है।

OpenBSD tmux पर भी आधार प्रणाली का हिस्सा बनाया गया था।

अधिक जानकारी के लिए tmux का मैन पेज देखें। Http://tmux.sourceforge.net/ पर स्क्रीनशॉट भी देखें


tmux सबसे अच्छी है!
गाबे

4

एमएसीएस में, एमएक्स शेल पिछले आउटपुट का संस्करण संभालता है। आप पिछले कमांड आउटपुट, या अपने बफर के किसी भी हिस्से को आसानी से कॉपी कर सकते हैं, एक नियमित बफर की तरह। मुझे पूरा यकीन है कि एक समतुल्य होना चाहिए।


1
जो मैं चाहता हूं, उसके बहुत करीब है, लेकिन मुझे एमाक्स या विम में पहले से ही होना चाहिए। +1
सर्जियो अकोस्टा

हां, यह आपका डिफ़ॉल्ट शब्द + शेल हो सकता है। :) फिर आप न्यूनतम के रूप में सामान्य पाठ नेविगेट कुंजी का उपयोग करेंगे। यदि आपने अधिक विशेष कुंजियाँ सीखी हैं, तो Emacs की निम्न विशेषताओं eshellतक पहुँचा जा सकता है
इम्ज़ - इवान ज़खरीशेव

1

जैसा कि यहां बताया गया है, Emacs ' eshellआपका डिफ़ॉल्ट शब्द + शेल हो सकता है। :) फिर आप न्यूनतम के रूप में सामान्य पाठ नेविगेट कुंजी का उपयोग करेंगे। यदि आपने अधिक विशेष कुंजियाँ सीख ली हैं, तो Emacs की निम्न विशेषताओं eshellतक पहुँचा जा सकता है:


1

मैं urxvt (rxvt-unicode) का उपयोग करता हूं और urxvt-keyboard-select नामक एक पैकेज है, जो कि आप चाहते हैं कि आप urxvt स्थापित कर सकते हैं। आर्कलिनक्स पैकेज की जानकारी (जिसमें पॉइंटर्स हैं) यहाँ है:

https://aur.archlinux.org/packages.php?ID=39950

मूल स्रोत: http://www.github.com/muennich/urxvt-perls


1

अपने सीएलआई के रूप में विम का उपयोग करने की कोशिश करें? बस कुछ लाइनों से आउटपुट का चयन करें और इसके माध्यम से पाइप करें:!।


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