Come faccio a inviare stdin negli Appunti?


44

Esistono funzionalità in unix che consentono quanto segue:

echo "Some Text" | copy-to-clipboard

vuoi dire stdout?
phunehehe,

3
dipende davvero da quale lato del tubo ti trovi in ​​piedi: P al comando che lo invia agli appunti, il suo stdin.
Stefan,

2
Le persone che usano Unix da molto tempo ti diranno che è meglio scrivere <longTextFile straightToClipboard. È lo stesso di cat longTextFile straightToClipboard, ma non richiede l'esecuzione cat. Solo un'osservazione. Sentiti libero di ignorarlo. Vedi The Useless Use of Cat Award per alcuni retroscena ed esempi se sei interessato.
Mikel,

Risposte:


34

Ci sono un paio di strumenti in grado di scrivere negli appunti; Io uso xsel. Sono necessari flag per scrivere nella selezione X primaria ( -p), nella selezione secondaria ( -s) o negli Appunti ( -b). Passandolo -igli dirà di leggere dallo stdin, quindi vuoi:

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

4
Un altro è xclip; accetta dallo stdin di default. Lo uso solo perché è il primo strumento di cui ho imparato.
Shawn J. Goff,

@Shawn Posta come una risposta separata :)
Michael Mrozek

Penso che -inon sia richiesto in questo caso: man xsel1.2.0 dice:and the selection is set from standard input if standard input is not a terminal (tty)
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

xsel non ha funzionato per me (non so perché), ma xclip (per altre risposte) ha funzionato.
Markrian,

11

Utilizzando xclip, come suggerito da @Nicolas, se si desidera successivamente incollare il contenuto degli Appunti, ad esempio utilizzando Ctrl + V, è possibile utilizzarlo in questo modo:

$ echo "Some Text" | xclip -selection clipboard

1
Non cercare di far rivivere una vecchia domanda, ma se sei pigro, echo "Some Text" | xclip -sel cfunziona anche.
anonymoose

9

puoi usare xsel

xsel < file 

10
La domanda è: quale appunti? Il server Linux X ne ha 3 (generalmente ne vengono utilizzati solo 2) ... xsel utilizza gli Appunti PRIMARY per impostazione predefinita. Gli Appunti PRIMARY si attivano automaticamente ogni volta che si seleziona semplicemente qualcosa. Se si preme il pulsante centrale del mouse, si incolla. Gli appunti di tipo Ctrl + C / Crtr + V vengono chiamati appunti di CLIPBOARD :) .. quindi se si desidera utilizzare gli appunti di Ctrl + C / Ctrl + V con 'xsel', il comando è: xsel -ib <file-long-or-short("Ma guarda, nessun gatto!" :) ... o se ti piace <file-long-or-short xsel -ib.. -i è predefinito. -b è per il tipo Ctrl + C / Ctrl + V di clipBoard
Peter.O

gnome-terminal. Modificato. @jamespo - questo non sembra funzionare.
ripper234,

funziona per me su gnome-terminal in Ubuntu 10.04 usando xsel nel repository (incolla con il pulsante centrale)
jamespo

7

Su Mac OS X ci sono la bella pbcopye pbpastecomandi che sono molto utili :)


0

Il più semplice è probabilmente xclip:

$ echo "Some Text" | xclip

Quindi incolla utilizzando il pulsante centrale del mouse.

Ad esempio xsel, di solito non è installato di default, quindi potrebbe essere necessario installarlo ( sudo apt-get install xclipsu Debian / Ubuntu).


2
xcliprichiede l' -selection clipboardopzione. La selezione predefinita per la sua pagina man è qualcos'altro.
Acumenus,

0

xclipè una buona strada da seguire, come ha risposto @Nicolas Raoul, ma quando si esegue il piping di qualsiasi oggetto contenente una nuova riga negli Appunti, come ad esempio pwd, anche la nuova riga viene copiata. In alcune situazioni può essere desiderato, ma soprattutto non si desidera la nuova riga.

La soluzione è:

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

( -nrimuove la nuova riga dall'argomento eco)

o:

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

Il ""giro $(pwd)può essere richiesta ma funziona con e senza su Ubuntu con bash.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.