pbcopy & pbpaste: Manipulere utklippstavlen fra kommandolinjen

Kopier og lim inn er absolutte nødvendigheter for praktisk talt alle datamaskinbrukere, og hvis du finner deg selv som arbeider i kommandolinjen ofte, vil du vite hvordan du kan manipulere utklippstavlen til Mac OS X direkte fra terminalprompten. Det er hva Mac-kommandoene pbcopy og pbpaste er for, og som du kanskje har gjettet, gjør de to kommandørene akkurat hva de høres ut, pbcopy er å kopiere, og pbpaste skal limes gjennom kommandolinjen. De er faktisk ganske kraftige, og du vil være sikker på å finne dem nyttige neste gang du henger ut med bash, tcsh, zsh eller hva som helst som du foretrekker shell prompt.

Vi vil dekke en rask forklaring på hvordan du bruker pbcopy og pbpaste til å manipulere utklippstavle data, med noen eksempler som angir hvordan du omdirigerer utgangen av terminalkommandoer som input til utklippstavlen, og selvsagt hvordan du utelater innholdet av utklippstavlen i kommandolinje med pbpaste.

Bruke pbcopy & pbpaste fra kommandolinje på Mac

pbcopy : tar standardinngang og plasserer den i utklippstavlen

pbcopy er enkel nok til å bruke, i utgangspunktet rette noe inn i det, og det vil kopiere det til utklippstavlen. Dette kan da nås enten via pbpaste, eller standard Finder's lim kommandoen (kommando-v). Slik bruker du det:

$ pbcopy < file.txt

Det er det, nå vil innholdet i filen.txt være i utklippstavlen, klar til å lime inn hvor som helst. Men pbcopy er mye kraftigere enn det, og du kan styre produksjonen av kommandoer og programmer som også skal kopieres. Her er et eksempel med kommandoen 'ps':

$ ps aux | pbcopy

Dette leder resultatet av PS-kommandoen til utklippstavlen, igjen kan det limes hvor som helst. Hvis du vil filtrere resultatene litt, kan du kaste gjøre det også. Et eksempel ved hjelp av grep-kommandoen er:

$ ps aux | grep root | pbcopy

Dette piper resultatene av 'ps aux' kommandoen, men filtrerer spesielt for 'root', og kopierer bare resultatene til utklippstavlen. Kul huh?

pbpaste : tar data fra utklippstavlen og skriver den til standardutgangen

pbpaste er like enkelt å bruke, det henter det du har plassert i utklippstavlen og spytter det ut. I det er det enkleste, bare skriv inn:

$ pbpaste

Dette vil skrive ut hvilken data du kopierte fra pbcopy-kommandoen eller Finder's copy command (command-c). Du kan enkelt rute denne utgangen til en fil via kommandolinjen for å få tilgang til senere hvis du vil ha, med denne enkle kommandoen:

$ pbpaste > pastetest.txt

Filtrering av det som er klistret, er imidlertid veldig nyttig, og kommandostrukturen er mye som det vi så tidligere med pbcopy. Vi vil filtrere for 'rcp', men selvfølgelig kan du filtrere etter alt du vil ha

$ pbpaste | grep rcp

Det du ser limt, er bare det som samsvarer med søket etter 'rcp' inne i dataene i utklippstavlen.

Det er mye mer å bruke med pbcopy og pbpaste, men det bør gi deg en generell ide om hvordan du bruker den og kanskje gi deg ideer til å implementere dem i din egen produktivitet. Skjermbildet viser bare at du kan kopiere og lime fra kommandolinjen til en Finder-app (i dette tilfellet TextEdit) uten å miste noen formatering.

Og ja, du kan bruke pbcopy- og pbpaste-kommandoene på terminalen og deretter samhandle med dem igjen fra GUI til MacOS ved å bruke standard Mac-kopi og lim tastaturgenveier av Command + C og Command + V. Det går også i den andre retningen, en kopi fra GUI kan limes med pbpaste på kommandolinjen.

Brukere som er interessert i å lære mer kraftige bruksområder av pbcopy og pbpaste for å modifisere tavle av Mac OS X gjennom kommandolinjen, oppfordres til å gjennomgå kommandos man pages, som i utgangspunktet er utskiftbare og dekker begge sider av kommandoen. Å få tilgang til det er lett å oppnå gjennom 'man pbcopy' eller 'man pbpaste' der du vil se litt mer detaljer om kommandoen, samt andre alternativer for hvordan du bruker kommandoene, juster koding, striper eller opprettholder rike tekstdetaljer, og så mye mer.