X11
Se si utilizza X11 (la GUI più comune sui tradizionali sistemi basati su Unix o Linux), per copiare il contenuto di un file nella selezione CLIPBOARD X11 senza visualizzarlo , è possibile utilizzare l' utilità xclip
o xsel
.
xclip -sel c < file
O:
xsel -b < file
Per memorizzare il contenuto della file
selezione CLIPBOARD X11.
Si noti che dovrebbe essere memorizzato utilizzando una codifica UTF-8 o altrimenti incollare non funzionerà correttamente. Se il file
codice è codificato usando un altro set di caratteri, dovresti prima convertirlo in UTF-8, come:
iconv -f latin1 -t utf8 | xclip -sel c
Per un file codificato in latino1 / iso8859-1 .
Per memorizzarlo come CUT_BUFFER (quelli sono ancora interrogati da alcune applicazioni come xterm
quando nulla rivendica le selezioni CLIPBOARD o PRIMARY X e non è necessario avere un processo in esecuzione per servirlo come per le selezioni), anche se probabilmente non vorrai o bisogno di usarlo al giorno d'oggi:
xprop -root -format CUT_BUFFER0 8s -set CUT_BUFFER0 "$(cat file)"
(rimuove i caratteri di nuova riga finali da file
).
Schermo GNU
GNU screen
ha il readbuf
comando di slurp il contenuto di un file nel suo buffer copia-incolla (con il quale si incolla ^A]
). Così:
screen -X readbuf file
Apple OS / X
Sebbene Apple OS / X possa usare X11. Per impostazione predefinita, non funziona a meno che non si esegua un'applicazione X11. Saresti in grado di usare xclip
o xsel
lì come OS / X dovrebbe sincronizzare la selezione CLIPBOARD X11 con i buffer di pasteboard OS / X, ma sarebbe un po 'uno spreco per avviare il server X11 proprio per quello.
Su OS / X, è possibile utilizzare il pbcopy
comando per archiviare contenuto arbitrario in buffer di pasteboard :
pbcopy < file
(la codifica dei caratteri del file dovrebbe essere quella della locale).
conchiglie
La maggior parte delle shell ha i propri buffer di copia e incolla. In modalità emacs, le operazioni di taglio e copia memorizzano il testo copiato / tagliato su una pila con cui si strappa / incolla Ctrl-Ye si scorre conAlt+Y
zsh CUTBUFFER / killring
In zsh
, lo stack è memorizzato $killring
nell'array e nella parte superiore dello stack nella $CUTBUFFER
variabile sebbene tali variabili siano disponibili solo dai widget Zsh Line Editor (zle) e alcuni widget specializzati sono il modo preferito per manipolarli.
Poiché quelli sono disponibili solo tramite ZLE, farlo con i comandi è un po 'contorto:
zmodload zsh/mapfile
zle-line-init() {
if [ -n "$FILE_TO_COPY" ]; then
zle copy-region-as-kill $mapfile[$FILE_TO_COPY]
unset FILE_TO_COPY
fi
}
zle -N zle-line-init
file-copy() FILE_TO_COPY=$1:A
Il zle-line-init
widget speciale viene eseguito una volta all'inizio di ogni nuovo prompt dei comandi. Ciò significa che il file verrà copiato solo al prompt successivo. Ad esempio, se lo fai:
file-copy file; sleep 2
Il file verrà copiato solo dopo quei 2 secondi.