pbcopy & pbpaste: Manipulácia so schránkou z príkazového riadka

Obsah:

Anonim

Kopírovanie a prilepenie sú absolútnou nevyhnutnosťou pre prakticky všetkých používateľov počítačov a ak často pracujete v príkazovom riadku, budete chcieť vedieť, ako manipulovať so schránkou systému Mac OS X priamo z výzva terminálu. Na to slúžia príkazy Mac pbcopy a pbpaste, a ako ste možno uhádli, tieto dva príkazy robia presne to, ako znejú, pbcopy je kopírovanie a pbpaste je vkladanie cez príkazový riadok.V skutočnosti sú dosť výkonné a budete si istí, že budú užitočné, keď sa nabudúce budete stretávať s bashom, tcsh, zsh alebo čímkoľvek iným, čo preferujete.

Pokryjeme rýchle vysvetlenie, ako používať pbcopy a pbpaste na manipuláciu s údajmi zo schránky, s niekoľkými príkladmi, ktoré naznačujú, ako presmerovať výstup príkazov terminálu ako vstup do schránky, a samozrejme, ako vytlačte obsah schránky do príkazového riadka pomocou pbpaste.

Používanie pbcopy a pbpaste z príkazového riadka na Macu

pbcopy: prevezme štandardný vstup a umiestni ho do vyrovnávacej pamäte schránky

pbcopy je dostatočne jednoduchý na používanie, v podstate doň niečo nasmerujte a skopíruje to do vyrovnávacej pamäte schránky. K tomu je potom možné pristupovať buď cez pbpaste, alebo štandardný príkaz vložiť Finder (príkaz-v). Tu je návod, ako ho použiť:

$ pbcopy < file.txt

To je všetko, teraz bude obsah súboru file.txt vo vašej schránke, pripravený na prilepenie kamkoľvek. Ale pbcopy je oveľa výkonnejšie a môžete tiež riadiť výstup príkazov a programov, ktoré sa majú skopírovať. Tu je príklad s príkazom 'ps':

$ ps aux | pbcopy

Týmto sa prenesú výsledky príkazu ps do schránky a opäť sa dajú vložiť kamkoľvek. Ak chcete výsledky trochu filtrovať, môžete to urobiť tiež. Príklad použitia príkazu grep je:

$ ps aux | koreň grepu | pbcopy

Toto prenesie výsledky príkazu 'ps aux', ale filtruje špecificky 'root' a skopíruje len tieto výsledky do schránky. Skvelé, čo?

pbpaste: berie údaje z vyrovnávacej pamäte schránky a zapisuje ich na štandardný výstup

pbpaste sa používa rovnako jednoducho, načíta všetko, čo ste vložili do vyrovnávacej pamäte schránky, a vypľuje to. V najjednoduchšej forme jednoducho napíšte:

$ pbpaste

Tým sa vytlačia všetky údaje, ktoré ste skopírovali z príkazu pbcopy alebo príkazu na kopírovanie Findera (príkaz-c). Tento výstup môžete jednoducho nasmerovať do súboru cez príkazový riadok, aby ste k nemu mali prístup neskôr, ak chcete, pomocou tohto jednoduchého príkazu:

$ pbpaste > pastetest.txt

Filtrovanie vloženého obsahu je však veľmi užitočné a štruktúra príkazov je veľmi podobná tomu, čo sme videli predtým pri pbcopy. Budeme filtrovať pre „rcp“, ale samozrejme môžete filtrovať podľa čohokoľvek chcete

$ pbpaste | grep rcp

Prilepené uvidíte iba to, čo zodpovedá vášmu vyhľadávaniu výrazu „rcp“ v údajoch v schránke.

S pbcopy a pbpaste sa dá oveľa viac využiť, ale mali by ste získať všeobecnú predstavu o tom, ako ich používať, a možno aj nápady, ako ich implementovať do vašej vlastnej produktivity.Snímka obrazovky jednoducho ukazuje, že môžete kopírovať a vkladať z príkazového riadka do aplikácie Finder (v tomto prípade TextEdit) bez straty formátovania.

A áno, môžete použiť príkazy pbcopy a pbpaste na termináli a potom s nimi znova interagovať z grafického používateľského rozhrania systému MacOS pomocou štandardných klávesových skratiek na kopírovanie a prilepenie pre Mac Command+C a Command+ V. Ide to aj opačným smerom, kópiu z GUI je možné vložiť pomocou pbpaste na príkazovom riadku.

Používateľom, ktorí majú záujem dozvedieť sa účinnejšie spôsoby použitia pbcopy a pbpaste na úpravu pracovnej plochy Mac OS X pomocou príkazového riadka, odporúčame prečítať si manuálové stránky príkazov, ktoré sú v podstate vzájomne zameniteľné a pokrývajú obe strany príkazu. Prístup, ktorý sa dá ľahko dosiahnuť pomocou „man pbcopy“ alebo „man pbpaste“, kde uvidíte ďalšie podrobnosti o používaní príkazov, ako aj ďalšie možnosti, ako príkazy používať, upravovať kódovanie, odstraňovať alebo udržiavať detaily formátovaného textu a o veľa viac.

pbcopy & pbpaste: Manipulácia so schránkou z príkazového riadka