linux बैश स्क्रिप्ट में क्लिपबोर्ड से / पाइप करें




11 Answers

सुनिश्चित करें कि आप उपनाम xclip="xclip -selection c" का उपयोग कर रहे हैं अन्यथा आप इसे किसी अन्य स्थान पर पेस्ट करने के लिए केवल Ctrl + v पर उपयोग नहीं कर सकते हैं।

echo test | xclip    

Ctrl + v === test

linux bash macos clipboard

क्या बैश में क्लिपबोर्ड से / पाइप करना संभव है?

चाहे वह किसी डिवाइस हैंडल से या सहायक उपकरण का उपयोग कर पाइपिंग कर रहा हो, मुझे कुछ भी नहीं मिल रहा है।

उदाहरण के लिए, अगर /dev/clip क्लिपबोर्ड से लिंक करने वाला एक उपकरण था तो हम कर सकते थे:

cat /dev/clip        # Dump the contents of the clipboard
cat foo > /dev/clip  # Dump the contents of "foo" into the clipboard



मैक ओएस एक्स पर आपको ये कमांड लाइन टूल्स मिल सकते हैं:

उदाहरण:

cat ~/.bashrc | pbcopy

उस आदेश के बाद ~/.bashrc फ़ाइल की सामग्री cmd + v शॉर्टकट के साथ चिपकाने के लिए उपलब्ध होगी।




डेबियन / उबंटू / मिंट पर xsel

# append to clipboard:
cat 'the file with content' | xsel -ib

# or type in the happy face :) and ...
echo 'the happy face :) and content' | xsel -ib

# show clipboard
xsel -b

# Get more info:
man xsel

इंस्टॉल करें

sudo apt-get install xsel



विंडोज़ (सिगविन के साथ) this आलेख में उल्लिखित cat /dev/clipboard या echo "foo" > /dev/clipboard




लिनक्स में विभिन्न क्लिपबोर्ड हैं; एक्स सर्वर में एक है, विंडो मैनेजर के पास दूसरा होना चाहिए, आदि कोई मानक डिवाइस नहीं है।

ओह, हाँ, सीएलआई पर, स्क्रीन प्रोग्राम का अपना क्लिपबोर्ड भी है, जैसे कुछ अन्य एप्लिकेशन जैसे Emacs और vi

एक्स में, आप xclip उपयोग कर सकते हैं।

आप इस धागे को अन्य संभावित उत्तरों के लिए देख सकते हैं: http://unix.derkeiler.com/Newsgroups/comp.unix.shell/2004-07/0919.html




यह एक साधारण पायथन लिपि है जो आपको केवल वही करता है जो आपको चाहिए:

#!/usr/bin/python

import sys

# Clipboard storage
clipboard_file = '/tmp/clipboard.tmp'

if(sys.stdin.isatty()): # Should write clipboard contents out to stdout
    with open(clipboard_file, 'r') as c:
        sys.stdout.write(c.read())
elif(sys.stdout.isatty()): # Should save stdin to clipboard
    with open(clipboard_file, 'w') as c:
        c.write(sys.stdin.read())

इसे अपने पथ में कहीं भी निष्पादन योग्य के रूप में सहेजें (मैंने इसे /usr/local/bin/clip में सहेजा है। आप अपने क्लिपबोर्ड पर सहेजे जाने के लिए सामान में पाइप कर सकते हैं ...

echo "Hello World" | clip

और आप अपने क्लिपबोर्ड में किसी अन्य प्रोग्राम में पाइप कर सकते हैं ...

clip | cowsay
 _____________
< Hello World >
 -------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

इसे अपने आप चलाना क्लिपबोर्ड में बस आउटपुट करेगा।




  xsel -b

X11 के लिए नौकरी, यह ज्यादातर पहले ही स्थापित है। Xsel के मैन पेज में एक नजर प्रयास के लायक है।




कुछ विंडोज प्रोग्राम मैंने कई साल पहले लिखा था। वे आपको क्लिपबोर्ड को डंप, पुश, एपेंड और प्रिंट करने की अनुमति देते हैं। यह इस तरह काम करता है:

dumpclip | perl -pe "s/monkey/chimp/g;" | pushclip

इसमें स्रोत कोड शामिल है: cmd_clip.zip




इस धागे से, एक विकल्प है जिसे किसी भी gclip / xclip / xsel तृतीय-पक्ष सॉफ़्टवेयर को स्थापित करने की आवश्यकता नहीं होती है।

एक पर्ल स्क्रिप्ट (चूंकि पर्ल आमतौर पर हमेशा स्थापित होता है)

use Win32::Clipboard;
print Win32::Clipboard::GetText();






लिनक्स के लिए विंडोज सबसिस्टम पर आप clip.exe के साथ क्लिपबोर्ड पर प्रतिलिपि बना सकते हैं।

cat file | clip.exe

उपयोग करने के लिए ध्यान रखें | पाइप कमांड। और नहीं > कमांड, क्योंकि यह काम नहीं करेगा।




Related