pbcopy & pbpaste: Manipulering af udklipsholderen fra kommandolinjen

Kopier og Indsæt er absolutte nødvendigheder for stort set alle computerbrugere, og hvis du finder dig selv ofte i kommandolinjen, vil du gerne vide, hvordan du manipulerer udklipsholderen i Mac OS X direkte fra terminalprompten. Det er hvad Mac-kommandoerne pbcopy og pbpaste er til, og som du måske har gættet, gør de to kommandoer præcis, hvad de lyder som, pbcopy skal kopiere, og pbpaste skal indsættes gennem kommandolinjen. De er faktisk ret magtfulde, og du vil være sikker på at finde dem nyttige næste gang du hænger sammen med din bash, tcsh, zsh eller hvad som helst din foretrukne shell prompt.

Vi vil dække en hurtig forklaring på, hvordan du bruger pbcopy og pbpaste til at manipulere udklipsholder, med nogle eksempler, der angiver, hvordan du omdirigerer output fra terminalkommandoer som input til udklipsholderen, og selvfølgelig hvordan man udskyder indholdet af klippebordet i kommandolinje med pbpaste.

Brug af pbcopy & pbpaste fra kommandolinje på Mac

pbcopy : tager standard input og placerer det i klippebordet buffer

pbcopy er simpel nok til at bruge, i grunden direkte noget ind i det, og det vil kopiere det til klippebordet buffer. Dette kan derefter nås enten gennem pbpaste eller standard Finder's indsæt kommando (kommando-v). Sådan bruger du det:

$ pbcopy < file.txt

Det er det, nu vil indholdet af file.txt være i dit udklipsholder, klar til at indsætte hvor som helst. Men pbcopy er meget kraftigere end det, og du kan styre output af kommandoer og programmer, der også skal kopieres. Her er et eksempel med kommandoen 'ps':

$ ps aux | pbcopy

Dette fører resultaterne af PS-kommandoen til udklipsholderen, igen kan den indsættes overalt. Hvis du vil filtrere dine resultater lidt, kan du smide gøre det også. Et eksempel ved hjælp af grep-kommandoen er:

$ ps aux | grep root | pbcopy

Dette leder resultaterne af 'ps aux' kommandoen, men filtrerer specifikt til 'root' og kopierer kun disse resultater til udklipsholderen. Cool huh?

pbpaste : tager data fra klippebordet buffer og skriver det til standard output

pbpaste er lige så nem at bruge, det henter det, du har lagt i klippebordet, og spytter det ud. I den mest enkle form skal du blot skrive:

$ pbpaste

Dette vil udskrive de data, du kopierede fra pbcopy-kommandoen eller Finder's copy command (command-c). Du kan nemt rute denne udgang til en fil via kommandolinjen for at få adgang til senere, hvis du vil have det med denne enkle kommando:

$ pbpaste > pastetest.txt

Filtrering af det, der er klistret, er dog meget nyttigt, og kommandostrukturen er meget som det, vi så tidligere med pbcopy. Vi vil filtrere for 'rcp', men selvfølgelig kan du filtrere efter alt, hvad du vil

$ pbpaste | grep rcp

Hvad du vil se indsat, er kun, hvad der matcher din søgning efter 'rcp' inde i dataene i udklipsholderen.

Der er meget mere brug for at få med pbcopy og pbpaste, men det bør give dig en generel ide om, hvordan du bruger det og måske give dig nogle ideer til at implementere dem i din egen produktivitet. Skærmbilledet viser blot, at du kan kopiere og indsætte fra kommandolinjen til en Finder-app (i dette tilfælde TextEdit) uden at miste nogen formatering.

Og ja, du kan bruge kommandoerne pbcopy og pbpaste på terminalen og derefter interagere med dem igen fra GUI'en i MacOS ved at bruge standard Mac-kopi og indsæt tastaturgenveje af Command + C og Command + V. Det går også i den anden retning, en kopi fra GUI'en kan indsættes med pbpaste på kommandolinjen.

Brugere, der er interesseret i at lære mere magtfulde anvendelser af pbcopy og pbpaste til at ændre pegeplade af Mac OS X via kommandolinjen, opfordres til at gennemgå kommandos man pages, som i grunden er udskiftelige og dækker begge sider af kommandoen. Adgang til det er let opnået gennem 'man pbcopy' eller 'man pbpaste', hvor du vil se nogle flere detaljer om kommandoforbruget, samt andre muligheder for at bruge kommandoerne, justere kodning, strimmel eller vedligeholde rige tekstoplysninger og så meget mere.