GNU/Linux >> Linux Esercitazione >  >> Linux

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

Ho creato uno strumento per Linux/OSX/Cygwin che è simile ad alcuni di questi altri ma leggermente unico. Lo chiamo cb e può essere trovato in questo github gist.

In quel succo dimostro come fare copia e incolla tramite la riga di comando usando Linux, macOS e Cygwin.

Linux

_copy(){
    cat | xclip -selection clipboard
}

_paste(){
    xclip -selection clipboard -o
}

macOS

_copy(){
    cat | pbcopy
}

_paste(){
    pbpaste
}

Cygwin

_copy(){
    cat > /dev/clipboard
}

_paste(){
    cat /dev/clipboard
}

Nota:originariamente intendevo solo menzionarlo nel mio commento alla risposta di Bob Enohp. Ma poi ho capito che avrei dovuto aggiungere un README al mio succo. Poiché l'editor di sintesi non offre un'anteprima di Markdown, ho usato la casella di risposta qui e dopo averla copiata/incollata nel mio pensiero di sintesi, "potrei anche inviare la risposta". Se desideri discutere di funzionalità/bug probabilmente sarebbe meglio farlo nei commenti per l'essenza su github.

cb

Una maglietta a tenuta stagna negli appunti

Questo script è modellato su tee (vedi man tee ).

È come i tuoi normali comandi di copia e incolla, ma unificato e in grado di percepire quando vuoi che sia concatenabile

Esempi

Copia

$ date | cb
# clipboard contains: Tue Jan 24 23:00:00 EST 2017

Incolla

# clipboard retained from the previous block
$ cb
Tue Jan 24 23:00:00 EST 2017
$ cb | cat
Tue Jan 24 23:00:00 EST 2017
$ cb > foo
$ cat foo
Tue Jan 24 23:00:00 EST 2017

Concatenamento

$ date | cb | tee updates.log
Tue Jan 24 23:11:11 EST 2017
$ cat updates.log
Tue Jan 24 23:11:11 EST 2017
# clipboard contains: Tue Jan 24 23:11:11 EST 2017

Copia tramite reindirizzamento file

(cronologicamente aveva senso dimostrarlo alla fine)

# clipboard retained from the previous block
$ cb < foo
$ cb
Tue Jan 24 23:00:00 EST 2017
# note the minutes and seconds changed from 11 back to 00

Ho sempre voluto farlo e ho trovato un modo carino e semplice per farlo. Ho scritto la procedura completa nel caso in cui qualcun altro ne avesse bisogno.

Per prima cosa installa un programma da 16 kB chiamato xclip :

sudo apt-get install xclip

Puoi quindi reindirizzare l'output in xclip da copiare negli appunti:

cat file | xclip

Per incollare il testo che hai appena copiato, devi usare:

xclip -o

Per semplificarti la vita, puoi impostare un alias nel tuo file .bashrc come ho fatto io:

alias "c=xclip"
alias "v=xclip -o"

Per vedere quanto sia utile, immagina di voler aprire il mio percorso attuale in una nuova finestra di terminale (potrebbero esserci altri modi per farlo come Ctrl +T su alcuni sistemi, ma questo è solo a scopo illustrativo):

Terminal 1:
pwd | c

Terminal 2:
cd `v`

Nota il ` ` intorno a v . Questo esegue v come comando e poi lo sostituisce al posto di cd da usare.

Copia solo il contenuto nel X appunti

cat file | xclip

Se vuoi incollare in un posto diverso da X applicazione, prova questa:

cat file | xclip -selection clipboard

Su OS X, usa pbcopy; pbpaste va nella direzione opposta.

pbcopy < .ssh/id_rsa.pub

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

  2. Come inviare le app della riga di comando direttamente in background?

  3. Linux:come avviare Puppy Linux Slacko nella riga di comando?

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

  5. Come impostare una variabile uguale all'output di un comando in Grub2?

Come modificare il colore di output di "Echo" in Linux

Come usare il comando Rsync in Linux?

Come posso richiamare l'argomento del precedente comando bash?

Linux Shell:copia l'output negli appunti senza usare il mouse?

Come copiare l'output del terminale?

Come leggere la colonna IDLE nell'output del comando Linux 'w'?