टर्मिनल से क्लिपबोर्ड में बहु-पृष्ठ पाठ की प्रतिलिपि कैसे करें?


13

मैं अपनी मशीन पर एक सॉफ्टवेयर के लिए एक आदमी पृष्ठ देख रहा था और मुझे उस पाठ में से कुछ को कॉपी-पेस्ट करने की आवश्यकता थी लेकिन पाठ एक पृष्ठ से बहुत अधिक था। मुझे पता है कि मैं किसी फ़ाइल में आउटपुट को निर्देशित कर सकता हूं और मुझे आवश्यकता वाले पाठ की प्रतिलिपि बनाने के लिए gedit जैसे UI आधारित सॉफ़्टवेयर का उपयोग कर सकता हूं। लेकिन क्या यह टर्मिनल से किया जा सकता है?

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

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

जवाबों:


9

मेरे पास कुछ अपूर्ण है, लेकिन शायद उपयोगी, विचार।

विधि 1 - मूषक।

टर्मिनल स्क्रॉलबार का उपयोग करें।

विवरण (मानकर xterm; अन्य टर्मिनलों के लिए समायोजन आवश्यक होगा।)

  1. स्क्रॉलबार सक्षम करें यदि यह पहले से ही नहीं है। ( xtermयह आपको मेनू में Ctrl + Button2 के साथ मिलता है।)
  2. सुनिश्चित करें कि विकल्प के lessसाथ नहीं चल -cरहा है (मेरे पास यह विकल्प मेरे LESSपर्यावरण चर में सक्षम है , लेकिन यह हस्तक्षेप करता है कि हम क्या करने वाले हैं, इसलिए मुझे -cइसे बंद करने के लिए टाइप करना होगा।)
  3. जो भी lessकमांड आपको पसंद है उसका उपयोग करके , ऊपर या नीचे स्क्रॉल करें ताकि आप जिस पहली पंक्ति को कॉपी करना चाहते हैं वह स्क्रीन पर दिखाई दे।
  4. ट्रिपल- Button1 इसे चुनने के लिए अपनी चुनी हुई शुरुआती लाइन।
  5. स्क्रीन पर दिखाई देने वाली अंतिम पंक्ति तक स्क्रॉल करें। आपको केवल स्पेस बार या अन्य सरल स्क्रॉलिंग कुंजियों का उपयोग करना होगा, न कि /खोज - यहां बिंदु lessको सभी लाइनों को टर्मिनल पर भेजना है ताकि उन्हें कॉपी किया जा सके।
  6. चयन को विस्तारित करने के लिए अपनी चुनी हुई अंतिम पंक्ति पर Button3।

संभावित कठिनाई: आपका स्क्रॉलबैक बफर पर्याप्त बड़ा नहीं हो सकता है। यह संसाधन या कमांड लाइन विकल्प के xtermसाथ बदला जा सकता है , लेकिन मुझे इसे पहले से चल रहे एक्सटरम में बदलने का कोई तरीका नहीं पता है।saveLines-sl

विधि 2 - गैर-मूषक।

पाठ भेजने के लिए |(पाइप) कमांड का उपयोग करें ।lessxclip

विवरण:

  1. जो भी lessकमांड आपको पसंद है उसका उपयोग करके , स्क्रीन के शीर्ष पर आप जिस आखिरी लाइन को कॉपी करना चाहते हैं उसे स्थिति में लाने के लिए ऊपर या नीचे स्क्रॉल करें । आप इस चरण और अगले चरण को छोड़ सकते हैं यदि आप अंत तक सभी तरह से कॉपी करना चाहते हैं।
  2. mअपने चुने हुए अंतिम स्थान पर एक निशान सेट करने के लिए (चिह्न) कमांड का उपयोग करें । निशान खुद से एक उपयोगी विशेषता है, और आपको उन्हें पहले से ही पता होना चाहिए vi, लेकिन सिर्फ अगर आप नहीं करते हैं: mxएक निशान सेट करता है, जहां xकोई भी पत्र हो सकता है, और 'xबाद में आपको वापस लौटा देगा।
  3. अब स्क्रॉल करें ताकि आप जिस पहली पंक्ति को कॉपी करना चाहते हैं वह स्क्रीन के शीर्ष पर हो।
  4. पाइप कमांड का उपयोग करें: |xजो आपके लिए एक बाहरी कमांड दर्ज करने के लिए संकेत देगा। xएक ही चिह्न के पत्र आप में इस्तेमाल किया जाना चाहिए m, या कमांड $"अंत करने के लिए सभी तरह से" के लिए। xclipवहां टाइप करें ।

संपूर्ण मैन पेज को कॉपी करने का सरल मामला कम हो जाता है g|$xclipEnter

वार्निंग (यानी मेरे साथ हुई भयानक बात ): प्रक्रिया समूह के xclipहिस्से के रूप में चल रही, अर्ध-पृष्ठभूमि वाली होगी less। यदि आप निलंबित करने का प्रयास करते हैं less, तो उसी टर्मिनल पर एक और काम शुरू करें, और उसमें पेस्ट करें, यह काम नहीं करेगा। फिर जब आप बाद में man/ lessनौकरी छोड़ते हैं , तो अचानक पेस्ट के माध्यम से आ जाएगा। मुझे लगता है कि इसे एक xclipबग माना जाना चाहिए ...


2
मैक उपयोगकर्ता pbcopy का उपयोग कर सकते हैं यदि उनके पास xclip स्थापित नहीं है।
माइक हेडमैन

3

टर्मिनल मल्टीप्लेक्सर की तरह tmuxया screenआमतौर पर इसकी कार्यक्षमता होती है (यानी स्क्रॉल करने के लिए बफर को फाइल या कुछ कमांड में पाइप को सेव करने के लिए) और उनका उपयोग करना वैसे भी आमतौर पर एक अच्छा विचार है, इसलिए आप उनमें से किसी एक को देखना चाहते हैं। ।


2

निक्सनक पर उल्लिखित :

  1. प्राप्त करें xclip:

    sudo apt-get install xclip 
    

    या

    yum install xclip
    

    RPM- आधारित प्रणाली पर।

  2. man man | your_magic_here | xclip -selection clipboard
  3. Ctrl+ Vआपके दिल की सामग्री के लिए। आप -selection clipboardइसके बजाय मध्य माउस क्लिक द्वारा पेस्ट करना चुन सकते हैं (जिसे प्राथमिक चयन कहा जाता है)।

ध्यान दें कि your_magic_hereएक टेक्स्ट फ़िल्टर ( sed/ awk/ perl/ ...) के लिए एक प्लेसहोल्डर है जो आपके विशिष्ट उपयोग के मामले के अनुसार मैन पेज के वांछित हिस्से का चयन करता है, जिसका आपने वर्णन नहीं किया था इसलिए मुझे डर है कि मैं विशिष्ट नहीं हो सकता एक उदाहरण के साथ।


इसके अलावा xclipवहाँ भी xsel(और अन्य)। आप भी इस क्लिपबोर्ड चर्चा पर एक नज़र रखना चाहते हो सकता है ।
पेट्रफ

क्या माउस का उपयोग करने का एक तरीका है? ताकि जब माउस पेज के अंत तक पहुँच जाए, तो पेज स्क्रॉल हो जाएगा।
मुहम्मद गालबाना

0

यह आपके टर्मिनल प्रोग्राम पर निर्भर करता है, लेकिन अधिकांश टर्मिनल प्रोग्रामों में चयनित टेक्स्ट को सहेजने की कार्यक्षमता नहीं होती है।

LXTerminal, uxterm, Konsole और GNOME Terminal सभी को इस 'फ़ीचर' की कमी लगती है, लेकिन कुछ अन्य भी हो सकते हैं जो कि इसके पास हैं। अपने टर्मिनल प्रोग्राम के मेन्यू स्ट्रक्चर को देखें और "सेव सेव" जैसा कुछ हो सकता है


0

मान लें कि आप उपयोग करते हैं gnome-terminalऔर आप के लिए lessएक पेजर के रूप में manकर सकते हैं:

  • उदाहरण के लिए वैकल्पिक स्क्रीन को अक्षम करने के लिए कुंजी lessके manसाथ चलाएँ -X:LESS=-X man less

यह manटर्मिनल एमुलेटर इतिहास बफर के आउटपुट को जोड़ने की अनुमति देगा । अधिक जानकारी के लिए इस उत्तर देखें /unix//a/38638/87918

  • पाठ के अंतिम पृष्ठ पर स्क्रॉल करें जिसे आप कॉपी करना चाहते हैं। (स्क्रॉल करते समय सभी स्क्रॉल किए गए पाठ इतिहास बफ़र में सहेजे जाएंगे)
  • gnome-terminalअंतिम पृष्ठ से लेकर प्रथम तक माउस के साथ पाठ का चयन करें , माउस को खिड़की के ऊपर तक खींचे। पाठ चयन की विस्तृत प्रक्रिया यहाँ वर्णित है :

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

  • अब आपके पास टेक्स्ट सेलेक्ट किया गया है (जो भी पेज आप चाहते हैं) जिसे आप जहाँ चाहें कॉपी कर सकते हैं और पेस्ट कर सकते हैं।

0

का प्रयोग करें | (पाइप) कम से कम अंक के साथ आदेश के रूप में Wumpus Q. Wumbley द्वारा अपने दूसरे विकल्प में उत्तर दिया गया है , लेकिन इस उद्देश्य के लिए पहले से ही एक मौजूदा फ़ाइल में संलग्न करने के लिए टी का उपयोग करके पुनर्निर्देशित कर रहा है:

|tee >> ~/helpaggregator.txt

मैं एक मौजूदा फ़ाइल का सुझाव देता हूं, क्योंकि आमतौर पर नए आदेशों को सीखने के लिए परामर्श करने की आवश्यकता होती है और एक उन्हें समेकित रखना पसंद करता है। इसके अलावा, टैब पूरा करना काम आता है।

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