कमांड लाइन से क्लिपबोर्ड में फाइल कॉपी करना


18

GUI फ़ाइल प्रबंधक में कुछ फ़ाइलों का चयन करना संभव है, Ctrl-C (जो माना जाता है कि प्रतियां क्लिपबोर्ड पर फ़ाइलों के बारे में जानकारी आती हैं) को दबाएं, फिर किसी अन्य फ़ोल्डर में जाएं और Ctrl-V दबाएं, जो तब फ़ाइलों को उस में कॉपी कर देगा निर्देशिका।

एक प्रयोग के रूप में, फ़ाइल प्रबंधक में फ़ाइलों की प्रतिलिपि बनाने के बाद, एक पाठ संपादक पर स्विच करना संभव है - Ctrl-V को दबाने से निरपेक्ष फ़ाइल नाम की सूची चिपक जाती है। रिवर्स प्रक्रिया (एक पाठ संपादक से फ़ाइलों की सूची की प्रतिलिपि बनाना और उन्हें एक फ़ाइल प्रबंधक पर चिपकाना) काम नहीं करता है, जो कि अलग-अलग लक्ष्य परमाणुओं के कारण माना जाता है

अभ्यास का लक्ष्य कमांड लाइन से कुछ फ़ाइलों को कॉपी करने में सक्षम होना है, उदाहरण के लिए

find ${PWD} -name "*.txt" | xclip <magic parameters>

फिर फ़ाइल प्रबंधक पर जाएँ और फ़ाइल-> पेस्ट का उपयोग करके उन सभी को एक निर्देशिका में कॉपी करें।

तो, सवाल यह है: क्या xclip(या अन्य कार्यक्रम) के मापदंडों को निर्दिष्ट करने की आवश्यकता है ताकि फ़ाइल प्रबंधक फ़ाइलों की सूची के रूप में चयन को पहचानता है और इसके पेस्ट मेनू आइटम को सक्षम करता है?

वैकल्पिक रूप से, क्या कोई निम्न-स्तरीय उपकरण है जो एक्स चयन की सामग्री का निरीक्षण करने और यह देखने के लिए कि वर्तमान में इसमें क्या डेटा है?

जवाबों:


12

हां, मूल रूप से, आपको CLIPBOARD के चयन की आवश्यकता होगी

  • text/uri-list सामग्री के साथ

    /path/to/file1
    /path/to/file2
    
  • application/x-kde-cutselectionया x-special/gnome-copied-filesसामग्री के साथ copy\nfile://$path1\nfile://$path2\0याcut\nfile://$path1\nfile://$path2...\0

इसके साथ xclipआप ऐसा कुछ हासिल कर सकते हैं

find "$PWD" -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list

मुझे यह लोलिपलिप कमांड भी मिला है जो आशाजनक लग रहा था, लेकिन हालांकि मैं मूल्यों को पुनः प्राप्त कर सकता था, मैं उन्हें स्टोर करने में सक्षम नहीं था और उन्हें सफलतापूर्वक से पुनः प्राप्त किया loliclipथा pcmanfm

आपको इसे कुछ लाइनों में लागू करने में सक्षम होना चाहिए perl-tk


ठीक है, कुछ छेड़छाड़ के बाद text/uri-listवेरिएंट ने मेरे लिए काम किया - मैं कमांड लाइन से सामान कॉपी करने और फाइल को डॉल्फिन फ़ाइल मैनेजर में पेस्ट करने में सक्षम हूं। इसमें file://उपसर्गों की भी आवश्यकता नहीं होती है, जो कमांड को ठीक से काम करने के लिए बनाते हैं find। मैंने आपके प्रश्न को केडीई में मेरे लिए काम करने वाली कमांड को जोड़ने के लिए संपादित किया है - क्या कोई इसे Gnome या कहीं और परीक्षण कर सकता है?
सर्गेई

संपादन के लिए धन्यवाद। ऐसा लगता है कि या तो के file://साथ आवश्यक नहीं है pcmanfm(हालांकि pcmanfm इसे स्वयं शामिल करता है)। मुझे लगता है कि कुछ विशेष पात्रों (बहुत कम से कम एलएफ पर) को यूआरआई-एनकोडेड होना चाहिए।
स्टीफन चेज़ेलस

हाँ। मैं पुष्टि कर सकता हूं कि आपको उन file:///new%0Alineफ़ाइलों के लिए उपयोग करने की आवश्यकता है जिनमें एक नई लाइन वर्ण हैं, हालांकि किसी भी अन्य चरित्र (किसी भी एन्कोडिंग में गैर-एएससीआईआई सहित) को ठीक लगता है (पीसीमैनफम के साथ कम से कम)
स्टीफन चेज़ेलस

1

सिर्फ findतुम्हारे लिए ही क्यों नहीं बनाते ?

find ${PWD} -name "*.txt" -exec cp {} /full/path \; && gnome-open /full/path &

संपादित करें: जो मैं समझता हूं, उससे man xclip: यह केवल पाठ को संभालता है, फाइलों या निर्देशिकाओं को नहीं।


ज्यादातर इसलिए कि यह एक प्रयोग है, हालांकि मुझे लगता है कि "क्लिपबोर्ड में फ़ाइलों को कॉपी करें, तय करें कि आप उन्हें बाद में कहां पेस्ट करना चाहते हैं" चीजों को करने का एक उपयोगी तरीका होगा।
सर्गेई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.