pbcopy & pbpaste: Manipulera urklippet från kommandoraden

Kopiera och klistra in är absolut nödvändiga för nästan alla datoranvändare, och om du befinner dig ofta i kommandoraden ofta vill du veta hur man manipulerar klippbordet i Mac OS X direkt från terminalprompten. Det är vad Mac-kommandona pbcopy och pbpaste är för, och som du kanske har gissat gör de två kommenderna exakt vad de låter som, pbcopy ska kopiera, och pbpaste ska klistra igenom kommandoraden. De är faktiskt ganska kraftfulla och du kommer vara säker på att hitta dem användbara nästa gång du hänger med din bash, tcsh, zsh eller vad som helst som är din föredragna shell prompt.

Vi kommer att täcka en snabb förklaring om hur man använder pbcopy och pbpaste för att manipulera urklippsdata, med några exempel som anger hur man omdirigerar utmatningen av terminalkommandon som inmatning i urklippet och självklart hur man utmatar innehållet på urklippet i kommandoraden med pbpaste.

Använda pbcopy & pbpaste från kommandorad på Mac

pbcopy : tar standardinmatning och placerar den i klipppappersbufferten

pbcopy är enkel att använda, i grund och botten rikta något in i det, och det kommer att kopiera det till klippbordet buffert. Detta kan sedan nås antingen via pbpaste eller standard Finder's klistra in kommando (command-v). Så här använder du den:

$ pbcopy < file.txt

Det är det, nu kommer innehållet i file.txt att vara i ditt urklipp, redo att klistra in var som helst. Men pbcopy är mycket kraftfullare än det, och du kan styra produktionen av kommandon och program som ska kopieras också. Här är ett exempel med kommandot 'ps':

$ ps aux | pbcopy

Detta leder resultatet av PS-kommandot till klippbordet, än en gång kan det klistras överallt. Om du vill filtrera dina resultat lite kan du kasta det också. Ett exempel med grep-kommandot är:

$ ps aux | grep root | pbcopy

Detta rör resultatet av "ps aux" -kommandot, men filtrerar specifikt för "root" och kopierar endast dessa resultat till klippbordet. Häftig va?

pbpaste : tar data från urklippsbufferten och skriver den till standardutgången

pbpaste är lika enkelt att använda, det kommer att hämta vad som helst du har placerat i klippbordet buffert och spotta det ut. I det enklaste formuläret skriver du helt enkelt:

$ pbpaste

Detta kommer att skriva ut vilken data du kopierade från pbcopy-kommandot eller Finder's copy command (command-c). Du kan enkelt vägleda den här utmatningen till en fil via kommandoraden för att komma åt senare om du vill ha det med det här enkla kommandot:

$ pbpaste > pastetest.txt

Att filtrera det som klistras är dock mycket användbart, och kommandostrukturen är mycket som det vi såg tidigare med pbcopy. Vi kommer att filtrera efter 'rcp' men du kan naturligtvis filtrera efter allt du vill ha

$ pbpaste | grep rcp

Vad du ser klistras är bara vad som matchar din sökning efter "rcp" inuti data i klippbordet.

Det finns mycket mer att använda med pbcopy och pbpaste, men det borde ge dig en allmän uppfattning om hur man använder den och kanske ger dig några idéer för att genomföra dem i din egen produktivitet. Skärmbilden visar att du kan kopiera och klistra in från en kommandorad till en Finder-app (i det här fallet TextEdit) utan att förlora någon formatering.

Och ja du kan använda kommandona pbcopy och pbpaste på terminalen och sedan interagera med dem igen från GUI i MacOS genom att använda standard Mac copy och klistra in genvägar av Command + C och Command + V. Det går också i andra riktningen, en kopia från GUI kan klistras med pbpaste på kommandoraden.

Användare som är intresserade av att lära sig mer kraftfulla användningar av pbcopy och pbpaste för att modifiera skivbordet av Mac OS X via kommandoraden uppmanas att granska kommandonens mansidor, vilka i princip är utbytbara och täcker båda sidor av kommandot. Åtkomst till det är lätt att uppnå genom "man pbcopy" eller "man pbpaste" där du kommer att se några mer detaljer om kommandoförbrukningen, liksom andra alternativ för hur du använder kommandona, justera kodning, remsa eller behålla rik textinformation, och så mycket mer.