GNU/Linux >> Linux Esercitazione >  >> Linux

Copiare il contenuto di un file negli appunti senza visualizzarne il contenuto?

Come copiare il contenuto di un file in UNIX senza visualizzare il contenuto del file. Non voglio cat o vi per vedere i contenuti.

Voglio copiarli negli appunti in modo da poterli incollare di nuovo sul mio blocco note di Windows.

Non riesco a copiare il file da quel server a un altro a causa delle restrizioni di accesso.

Risposta accettata:

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 degli APPUNTI di X11 senza visualizzare it, puoi usare xclip o xsel utilità.

xclip -sel c < file

Oppure:

xsel -b < file

per memorizzare il contenuto di file come la selezione APPUNTI X11.

Per memorizzare l'output di un comando:

mycommand | xclip -sel c
mycommand | xsel -b

Nota che dovrebbe essere archiviato utilizzando una codifica UTF-8 o altrimenti incollare non funzionerà correttamente. Se il file è codificato utilizzando un altro set di caratteri, dovresti prima convertire in UTF-8, come:

<file iconv -f latin1 -t utf8 | xclip -sel c

per un file codificato in latin1 /iso8859-1 .

xsel non funziona con dati binari (non accetta byte nulli), ma xclip fa.

Per memorizzarlo come CUT_BUFFER (questi sono ancora interrogati da alcune applicazioni come xterm quando nulla rivendica le selezioni CLIPBOARD o PRIMARY X e non è necessario che sia in esecuzione un processo per servirlo come per le selezioni), anche se probabilmente non vorrai o non dovrai 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 ).

Schermata GNU

GNU screen ha il readbuf comando per assorbire il contenuto di un file nel proprio buffer copia-incolla (che incolli con ^A] ). Quindi:

screen -X readbuf file

Apple OS/X

Anche se Apple OS/X può usa X11. Non funziona per impostazione predefinita a meno che non si esegua un'applicazione X11. Potresti usare xclip o xsel lì come OS/X dovrebbe sincronizzare la selezione X11 CLIPBOARD con i buffer OS/X pasteboard, ma sarebbe un po' uno spreco avviare il server X11 solo per quello.

Su OS/X, puoi usare pbcopy comando per memorizzare contenuto arbitrario in pasteboard buffer:

pbcopy < file

(la codifica dei caratteri del file dovrebbe essere quella della locale). Per memorizzare l'output di un comando:

mycommand | pbcopy

Conchiglie

La maggior parte delle shell ha i propri buffer copia-incolla. In modalità emacs, le operazioni di taglio e copia memorizzano il testo copiato/tagliato su una pila che si strappa/incolla con Ctrl-Y e scorrere con Alt+Y

Correlati:prendi la prima colonna da 2 file e scrivila in un terzo file?

zsh CUTBUFFER/killring

In zsh , lo stack è archiviato nel $killring array e la parte superiore dello stack nel $CUTBUFFER variabile anche se queste variabili sono 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
}
mycommand | pbcopy
mycommand | pbcopy
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.


Linux
  1. Copia i file nel terminale Linux

  2. Un piccolo file SSH copia la magia sulla riga di comando

  3. Come memorizzare l'output di SHOW PROCESSLIST in un file in MySQL?

  4. lsinitramfs:elenca il contenuto del file system initrd.

  5. Come posso copiare l'output di un comando direttamente nei miei appunti?

Come modificare un file senza modificarne i timestamp in Linux

Copia il contenuto del file negli Appunti senza visualizzarli

Come visualizzare il contenuto di un archivio o di un file compresso in Linux

Visualizza il contenuto di un file nella riga di comando di Linux

Copia il contenuto del file negli appunti nel terminale Linux

Come posso copiare l'output da un comando remoto negli appunti locali?