Stdin'i panoya nasıl gönderirim?


44

Unix'te aşağıdakilere izin veren işlevler var mı:

echo "Some Text" | copy-to-clipboard

stdout mu demek istiyorsun?
phunehehe

3
bu, borunun hangi tarafından durduğuna bağlı olarak değişir: P, onu panoya gönderen komuta stdin.
Stefan

2
Unix'i uzun süredir kullanan insanlar, yazmanın daha iyi olacağını söyleyecektir <longTextFile straightToClipboard. Aynı cat longTextFile straightToClipboard, ancak koşma gerektirmez cat. Sadece bir gözlem. Görmezden gelmekten çekinmeyin. Bkz Kedi Ödülü Yararsız Kullanımı eğer ilgilenirsen bazı arka plan ve örnekler için.
Mikel

Yanıtlar:


34

Panoya yazabilecek birkaç araç var; Kullandığım xsel. Birincil X seçimine ( -p), ikincil seçimine ( -s) veya panoya ( -b) yazma bayraklarını alır . Bunu geçmek -i, stdin'den okumasını söyleyecektir, yani istediğiniz:

$ echo "Some Text" | xsel -i -b

4
Bir diğeri xclip; stdin'den varsayılan olarak kabul eder. Ben onu kullanıyorum çünkü öğrendiğim ilk araç bu.
Shawn J. Goff

@Shawn Ayrı bir cevap olarak gönder :)
Michael Mrozek

-iBu durumda gerekli olmadığını düşünüyorum : man xsel1.2.0 diyor ki:and the selection is set from standard input if standard input is not a terminal (tty)
Ciro Santilli 事件 改造 中心 法轮功 六四 事件

xsel benim için işe yaramadı (neden bilmiyorum), ama xclip (diğer cevaplara göre) yaptı.
Markrian

11

Kullanılması xclip@Nicolas önerildiği gibi daha sonra böyle Ctrl + V kullanarak için pano, yapıştırmak isterseniz,, bunu bu şekilde kullanabilirsiniz:

$ echo "Some Text" | xclip -selection clipboard

1
Eski bir soruyu canlandırmaya echo "Some Text" | xclip -sel cçalışmıyor , ama tembelseniz o zaman da işe yarıyor.
anonymoose

9

xsel kullanabilirsiniz

xsel < file 

10
Soru şudur: Hangi panoya? Linux X sunucusu ... xsel varsayılan olarak İLKÖĞRETİM panoya .. otomatik olarak İLKÖĞRETİM pano tekmeler kullanır 3 (genellikle, sadece 2 kullanılır) sahip her zaman sadece seçme soemthing. Orta fare tuşuna basarak yapıştırın. Ctrl + C / Crtr + V tipi panoya CLIPBOARD panoya denir :) .. yani Ctrl + C / Ctrl + V panoya 'xsel' kullanmak istiyorsanız, komut: xsel -ib <file-long-or-short("Bak ma, kedi yok!" :) ... ya da istersen <file-long-or-short xsel -ib.. -i varsayılandır. -b, Ctrl + C / Ctrl + V tipi clipBoard içindir
Peter.O

gnome-terminal. Düzenlenen. @jamespo - bu işe yaramadı.
ripper234

benim için çalışıyor ubuntu 10.04 gnome-terminalinde depodaki xsel'i kullanarak (orta düğmeyle yapıştırın)
jamespo

7

Mac OS X'te hoş pbcopyve pbpasteçok yardımcı olan komutlar var :)


0

En basit olasılıkla xclip:

$ echo "Some Text" | xclip

Ardından farenin orta düğmesini kullanarak yapıştırın.

Gibi xsel, genellikle varsayılan olarak yüklenmez, bu yüzden yüklemeniz gerekebilir ( sudo apt-get install xclipDebian / Ubuntu'da).


2
xclip-selection clipboardseçeneği gerektirir . Adam sayfasına göre varsayılan seçim başka bir şeydir.
Acumenus

0

xclip@Nicolas Raoul tarafından yanıtlandığı gibi gitmenin iyi bir yoludur, ancak panoya bir yeni satır eklerken pwd, yeni satır da kopyalanır. Bazı durumlarda istenebilir, ancak çoğu kişi yeni satırı istemiyor.

Çözüm ya:

echo -n $(pwd) | xclip -selection clipboard

( -nyeni satırı eko argümanından çıkarır)

veya:

printf %s $(pwd) | xclip -selection clipboard

""Etrafında $(pwd)gerekli ama bash ile ubuntu ile ve olmadan çalışır olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.