pbcopy & pbpaste: Manipulace se schránkou z příkazového řádku
Obsah:
Kopírování a vkládání jsou absolutní nezbytností pro prakticky všechny uživatele počítačů, a pokud často pracujete v příkazovém řádku, budete chtít vědět, jak manipulovat se schránkou systému Mac OS X přímo z terminálová výzva. K tomu slouží příkazy Mac pbcopy a pbpaste, a jak jste možná uhodli, tyto dva příkazy dělají přesně to, co znějí, pbcopy je kopírování a pbpaste je vkládání přes příkazový řádek.Ve skutečnosti jsou docela výkonné a budete si jisti, že se vám budou hodit, až se příště budete potkávat s bash, tcsh, zsh nebo čímkoli jiným, co preferujete.
Pokryjeme rychlé vysvětlení, jak používat pbcopy a pbpaste k manipulaci s daty ze schránky, s některými příklady, jak přesměrovat výstup příkazů terminálu jako vstup do schránky, a samozřejmě, jak vymažte obsah schránky do příkazového řádku pomocí pbpaste.
Použití pbcopy & pbpaste z příkazového řádku na Macu
pbcopy: přebírá standardní vstup a umístí jej do vyrovnávací paměti schránky
pbcopy se používá dostatečně jednoduše, v podstatě do něj něco nasměrujte a ono to zkopíruje do vyrovnávací paměti schránky. K tomu lze přistupovat buď prostřednictvím pbpaste, nebo standardním příkazem vložit Finder (command-v). Zde je návod, jak jej používat:
$ pbcopy < soubor.txt
To je vše, nyní bude obsah souboru file.txt ve vaší schránce, připraven k vložení kamkoli. Ale pbcopy je mnohem výkonnější než to a můžete také řídit výstup příkazů a programů, které mají být zkopírovány. Zde je příklad s příkazem 'ps':
$ ps aux | pbcopy
Toto přenese výsledky příkazu ps do schránky, opět je lze vložit kamkoli. Pokud chcete výsledky trochu filtrovat, můžete to udělat také. Příklad použití příkazu grep je:
$ ps aux | grep root | pbcopy
Toto zprostředkuje výsledky příkazu 'ps aux', ale filtruje specificky pro 'root' a zkopíruje pouze tyto výsledky do schránky. Skvělé, co?
pbpaste: přebírá data z vyrovnávací paměti schránky a zapisuje je na standardní výstup
pbpaste se používá stejně jednoduše, načte vše, co jste umístili do vyrovnávací paměti schránky, a vyplivne to. V nejjednodušší formě jednoduše napište:
$ pbpaste
Toto vytiskne všechna data, která jste zkopírovali z příkazu pbcopy nebo příkazu Finder copy (command-c). Tento výstup můžete snadno přesměrovat do souboru pomocí příkazového řádku, abyste k němu měli přístup později, pokud chcete, pomocí tohoto jednoduchého příkazu:
$ pbpaste > pastetest.txt
Filtrování vloženého obsahu je však velmi užitečné a struktura příkazů je podobná té, kterou jsme viděli dříve u pbcopy. Budeme filtrovat pro 'rcp', ale samozřejmě můžete filtrovat pro cokoli chcete
$ pbpaste | grep rcp
Uvidíte vložené pouze to, co odpovídá vašemu hledání „rcp“ v datech ve schránce.
S pbcopy a pbpaste je mnohem více využití, ale to by vám mělo poskytnout obecnou představu o tom, jak je používat, a možná vám dát nějaké nápady, jak je implementovat do vaší vlastní produktivity.Snímek obrazovky jednoduše ukazuje, že můžete kopírovat a vkládat z příkazového řádku do aplikace Finder (v tomto případě TextEdit), aniž byste ztratili jakékoli formátování.
A ano, můžete použít příkazy pbcopy a pbpaste na terminálu a poté s nimi znovu pracovat z GUI systému MacOS pomocí standardních klávesových zkratek pro kopírování a vkládání Mac Command+C a Command+ PROTI. Jde to i opačným směrem, kopii z GUI lze vložit pomocí pbpaste na příkazový řádek.
Uživatelům, kteří se chtějí dozvědět více o účinnějším využití pbcopy a pbpaste k úpravě pracovní plochy Mac OS X pomocí příkazového řádku, se doporučuje, aby si prohlédli manuálové stránky příkazů, které jsou v zásadě zaměnitelné a pokrývají obě strany příkazu. Přístup, kterého lze snadno dosáhnout prostřednictvím 'man pbcopy' nebo 'man pbpaste', kde uvidíte některé další podrobnosti o použití příkazů, stejně jako další možnosti, jak příkazy používat, upravovat kódování, odstraňovat nebo udržovat detaily formátovaného textu a mnohem víc.