सवाल लिनक्स के लिए ओएसएक्स की पीबीसीपी की तरह क्या है


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


132
2018-05-25 09:08


मूल


... और उन लोगों के लिए जो नहीं जानते कि पीबीसीपी क्या है, यहां मैन पेज है developer.apple.com/library/mac/#documentation/Darwin/Reference/... - Rob Cowell
एक उपकरण जो इसके साथ सहायक हो सकता है ClipIt (और इसी तरह के क्लिपबोर्ड प्रबंधक)। न केवल यह टर्मिनल में अच्छी तरह से खेलता है, यह क्लिपबोर्ड इतिहास को भी संरक्षित करता है। बहुत उपयोगी। - brandizzi


जवाब:


यदि आपके पास एक्स इंस्टॉल है तो आप इस तरह से xsel आज़मा सकते हैं:

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

या xclip के साथ:

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

अब आप'em का उपयोग कर सकते हैं:

echo 'go to my clipboard' | pbcopy

जब मेरे पास एक्स नहीं है तो मैं कीबोर्ड का उपयोग करके सत्र में खुले खोलों के बीच प्रतिलिपि बनाने के लिए जीएनयू स्क्रीन कार्यक्षमता का उपयोग करता हूं

प्रतिलिपि बनाना : Ctrl-a -> Esc -> go to wanted position * -> Space (to begin selecting) -> press k to go forward mark text -> Enter

चिपकाना : Ctrl-a + ]

* आंदोलन कुंजी बाइंडिंग (जे, के, एल एंड एम) की तरह vim के साथ किया जाता है।


154
2018-05-25 09:33



धन्यवाद यह वही जानकारी है जो मैं चाहता था। अब मुझे आश्चर्य है कि क्या कोई रास्ता है जिससे मैं स्क्रीन को इमाक्स कमांड का उपयोग उस क्षेत्र का चयन करने के लिए कर सकता हूं जिसे मैं प्रतिलिपि बनाना चाहता हूं ... - Noah Sussman
xsel: डिस्प्ले नहीं खोल सकता: (शून्य): डिवाइस के लिए अनुचित ioctl - itsazzad
मैंने विंडोज़ पर स्थापित करके "डिस्प्ले नहीं खोल सकता" समस्या हल की Xming और DISPLAY =: 0 सेट कर रहा है - scottgwald
Tmux उपयोगकर्ताओं के लिए, यह और अधिक पसंद है Ctrl-b, [ -> go to position -> Space -> select texts -> Enter और पेस्ट करें Ctrl-b, ] - elquimista


अपने बिन फ़ोल्डर में इस तरह की एक स्क्रिप्ट को पीबीसीपी कहा जाता है:

#!/bin/bash
xclip -i -sel c -f |xclip -i -sel p

यह आपके चयन बफर और क्लिपबोर्ड दोनों में एसटीडीआईएन डाल देगा:

echo Hello world |pbcopy

8
2018-01-26 10:20



क्यों होगा cat जरूरत हो? क्या यह सिर्फ इस मामले में stdout के लिए stdin रीडायरेक्ट नहीं करेगा इस प्रकार बेकार बिल्ली दुरुपयोग या मैं कुछ याद कर रहा हूँ? - Hultner
आप सही हैं यह बेकार बिल्ली दुर्व्यवहार की तरह प्रतीत होता है :-) - Erik
यदि आप (मेरे जैसे) आश्चर्यचकित हैं कि रहस्यमय "बेकार बिल्ली" कहां है, इसे संपादन द्वारा हटा दिया गया है। एनटीएस: भ्रमित टिप्पणियों के मामले में, इतिहास ^^ 'की जांच करें - yaitloutou
इसका उपयोग करने के बाद आप सामग्री को पेस्ट कैसे करते हैं? बस उपयोग कर रहा हूँ xclip -o ? या कोई बेहतर तरीका है? - n1k31t4


@Erik और @xpixelz के समाधानों पर विस्तार करने के लिए; इन दो स्क्रिप्ट को दोनों प्लेटफार्मों पर काम करना चाहिए:

pbcopy:

#!/bin/bash
__IS_MAC=${__IS_MAC:-$(test $(uname -s) == "Darwin" && echo 'true')}
if [ -n "${__IS_MAC}" ]; then
  cat | /usr/bin/pbcopy
else
  # copy to selection buffer AND clipboard
  cat | xclip -i -sel c -f | xclip -i -sel p
fi

pbpaste:

#!/bin/bash
__IS_MAC=${__IS_MAC:-$(test $(uname -s) == "Darwin" && echo 'true')}
if [ -n "${__IS_MAC}" ]; then
  /usr/bin/pbpaste
else
  xclip -selection clipboard -o
fi

4
2018-04-14 18:10



लेकिन ओएस एक्स पर यह स्क्रिप्ट क्यों होगी, जहां यह मूल उपयोगकर्तालैंड का हिस्सा है? - Hultner
* समान कार्यक्षमता के संदर्भ के रूप में, * क्रॉस-प्लेटफ़ॉर्म डॉटफाइल: github.com/westurner/dotfiles/blob/develop/scripts/pbcopy - Wes Turner
अभी भी बिल्ली का दुरुपयोग और क्यों नहीं जांचें कि xclip इसके बजाय मौजूद है या नहीं तो उपनाम असाइन करें? या जांचें कि क्या पीबीपीस्ट बाइनरी मौजूद है, यह भी एक विकल्प होगा। अनमोल की जांच करना समस्या के लिए एक अजीब दृष्टिकोण की तरह लगता है। - Hultner
@ हल्टनर "अनमोल की जांच करना समस्या के लिए एक अजीब दृष्टिकोण की तरह लगता है" आप अपवाद के अनुसार, बाइनरी, वरीयता से, क्रमशः जांच सकते हैं ${a:-${b:-${c:+${d}}}} और कुछ type -P/ has परिवर्तनीय असाइनमेंट और / बिन / परीक्षण निष्पादन। - Wes Turner


यह उत्तर विंडोज के लिए लिनक्स सबसिस्टम को संदर्भित करता है।

संक्षिप्त उत्तर: उपयोग करें clip.exe मानो यह था pbcopy विंडोज क्लिपबोर्ड पर कुछ डालने के लिए। यह जादू है। उदाहरण echo "Hello Windows" | clip.exe अपने बैश या उबंटू बैश टर्मिनल में, और उसके बाद एक विंडोज प्रोग्राम में 'ctrl-v'।

अधिक संदर्भ:

में ऊपर एक टिप्पणी मैंने उल्लेख किया कि, इस कार्यक्षमता को सक्षम करने के लिए विंडोज पर Xming का उपयोग करते समय, एक DISPLAY चर सेट करना आवश्यक है (export DISPLAY=:0, कई मामलों में) से पहले xsel तथा xclip समाधान काम करते हैं। अफसोस की बात यह है कि यह समाधान एक अविश्वसनीय, स्टोकास्टिक तरीके से काम करता है - जब लिनक्स से विंडोज तक चिपकाता है, दबाता है ctrl-v एक और दस बार के बीच क्लिपबोर्ड चिपकाया जा सकता है (एक बार) (यह मेरे विंडोज 10 सतह बुक 2 पर है)। अपना समय बर्बाद मत करो, उपयोग करें clip.exe

नोट: मत भूलना .exe। अन्यथा उबंटू बैश सुझाव देगा कि आप लिनक्स पैकेज स्थापित करें geomview, जो आप नहीं चाहते हैं।


1
2018-01-07 17:18