pbcopy e pbpaste: manipolazione degli Appunti dalla riga di comando
Copia e incolla sono assolutamente necessari per praticamente tutti gli utenti di computer e, se ti trovi spesso a lavorare nella riga di comando, vorrai sapere come manipolare gli appunti di Mac OS X direttamente dal terminale. Ecco a cosa servono i comandi Mac pbcopy e pbpaste, e come puoi immaginare i due commmands fanno esattamente quello che sembrano, pbcopy è quello di copiare e pbpaste è quello di incollare la riga di comando. In realtà sono piuttosto potenti e sarete sicuri di trovarli utili la prossima volta che vi trovate con bash, tcsh, zsh o qualunque sia il prompt della shell preferito.
Tratteremo una rapida spiegazione su come usare pbcopy e pbpaste per manipolare i dati degli appunti, con alcuni esempi che indicano come reindirizzare l'output dei comandi del terminale come input negli appunti e, naturalmente, come espellere il contenuto degli appunti nel riga di comando con pbpaste.
Usando pbcopy e pbpaste da Command Line su Mac
pbcopy : prende lo standard input e lo inserisce nel buffer degli appunti
pbcopy è abbastanza semplice da usare, in pratica indirizza qualcosa al suo interno, e lo copierà nel buffer degli appunti. A questo punto è possibile accedere tramite pbpaste o il comando incolla del Finder standard (command-v). Ecco come usarlo:
$ pbcopy < file.txt
Questo è tutto, ora il contenuto di file.txt sarà nei tuoi appunti, pronto per essere incollato dove mai. Ma pbcopy è molto più potente di così, e puoi anche dirigere l'output di comandi e programmi da copiare. Ecco un esempio con il comando 'ps':
$ ps aux | pbcopy
In questo modo i risultati del comando ps vengono inseriti negli appunti, ancora una volta può essere incollato ovunque. Se vuoi filtrare un po 'i risultati, puoi lanciarlo anche tu. Un esempio che utilizza il comando grep è:
$ ps aux | grep root | pbcopy
Questo sistema i risultati del comando 'ps aux', ma filtra specificamente per 'root' e copia solo quei risultati negli appunti. Splendido, no?
pbpaste : prende i dati dal buffer degli appunti e li scrive sullo standard output
pbpaste è ugualmente semplice da usare, recupera tutto ciò che hai inserito nel buffer degli appunti e lo sputa. Nella sua forma più semplice, digita semplicemente:
$ pbpaste
Questo stamperà qualsiasi dato copiato dal comando pbcopy o dal comando di copia del Finder (command-c). Puoi facilmente indirizzare questo output in un file tramite la riga di comando per accedere successivamente se vuoi, con questo semplice comando:
$ pbpaste > pastetest.txt
Filtrare ciò che è incollato è molto utile, e la struttura dei comandi è molto simile a quello che abbiamo visto prima con pbcopy. Filtreremo per 'rcp', ma ovviamente puoi filtrare tutto ciò che desideri
$ pbpaste | grep rcp
Quello che vedrai incollato è solo ciò che corrisponde alla tua ricerca di 'rcp' all'interno dei dati negli appunti.
C'è molto più da fare con pbcopy e pbpaste, ma questo dovrebbe darti un'idea generale su come usarlo e magari darti qualche idea per implementarli nella tua produttività. Lo screenshot dimostra semplicemente che è possibile copiare e incollare dalla riga di comando in un'app Finder (in questo caso, TextEdit) senza perdere alcuna formattazione.
E sì, puoi usare i comandi pbcopy e pbpaste sul terminale e poi interagire con loro di nuovo dalla GUI di MacOS usando la copia standard del Mac e incollare le scorciatoie da tastiera di Command + C e Command + V. Va anche nella direzione opposta, una copia dalla GUI può essere incollata con pbpaste alla riga di comando.
Gli utenti che sono interessati ad apprendere usi più potenti di pbcopy e pbpaste per modificare il pannello di lavoro di Mac OS X tramite la riga di comando sono invitati a rivedere le pagine man dei comandi, che sono fondamentalmente intercambiabili e coprono entrambi i lati del comando. L'accesso è facilmente ottenibile tramite 'man pbcopy' o 'man pbpaste' dove si potranno vedere ulteriori dettagli sull'uso del comando, oltre ad altre opzioni su come utilizzare i comandi, regolare la codifica, rimuovere o mantenere i dettagli rich text e molto di più.