pbcopy & pbpaste: manipulowanie schowkiem z wiersza poleceń
Spisu treści:
Kopiowanie i wklejanie to absolutna konieczność dla praktycznie wszystkich użytkowników komputerów, a jeśli często pracujesz z wierszem poleceń, będziesz chciał wiedzieć, jak manipulować schowkiem systemu Mac OS X bezpośrednio z zachęta terminala. Do tego służą polecenia Mac pbcopy i pbpaste, a jak można się domyślić, te dwa polecenia robią dokładnie to, co brzmią, pbcopy służy do kopiowania, a pbpaste do wklejania przez wiersz poleceń.W rzeczywistości są dość potężne i na pewno okażą się przydatne, gdy następnym razem będziesz spędzać czas z bash, tcsh, zsh lub jakimkolwiek innym preferowanym monitem powłoki.
Omówimy krótkie wyjaśnienie, jak używać pbcopy i pbpaste do manipulowania danymi w schowku, z kilkoma przykładami wskazującymi, jak przekierować wyjście poleceń terminala jako dane wejściowe do schowka i oczywiście, jak wyrzuć zawartość schowka do wiersza poleceń za pomocą pbpaste.
Korzystanie z funkcji pbcopy i pbpaste z wiersza poleceń na komputerze Mac
pbcopy: pobiera standardowe wejście i umieszcza je w buforze schowka
pbcopy jest wystarczająco proste w użyciu, po prostu skieruj coś do niego, a skopiuje to do bufora schowka. Dostęp do tego można uzyskać za pomocą pbpaste lub standardowego polecenia wklejania Findera (command-v). Oto jak z niego korzystać:
$ pbcopy < plik.txt
To wszystko, teraz zawartość pliku.txt będzie w Twoim schowku, gotowa do wklejenia w dowolnym miejscu. Ale pbcopy jest znacznie potężniejszy i możesz również kierować wyjście poleceń i programów do kopiowania. Oto przykład z poleceniem „ps”:
$ ps aux | pbcopy
Spowoduje to potokowanie wyników polecenia ps do schowka, po raz kolejny można je wkleić w dowolnym miejscu. Jeśli chcesz trochę przefiltrować wyniki, możesz to zrobić. Przykład użycia polecenia grep to:
$ ps aux | grep root | pbcopy
Potokuje wyniki polecenia „ps aux”, ale filtruje je specjalnie dla „root” i kopiuje tylko te wyniki do schowka. Fajne hę?
pbpaste: pobiera dane z bufora schowka i zapisuje je na standardowe wyjście
pbpaste jest równie prosty w użyciu, pobiera wszystko, co umieściłeś w buforze schowka i wypluwa to. W najprostszej formie wystarczy wpisać:
$ pbpaste
Spowoduje to wydrukowanie wszelkich danych skopiowanych z polecenia pbcopy lub polecenia kopiowania Findera (polecenie-c). Możesz łatwo skierować te dane wyjściowe do pliku za pomocą wiersza poleceń, aby uzyskać do nich dostęp później, jeśli chcesz, za pomocą tego prostego polecenia:
$ pbpaste > pastetest.txt
Filtrowanie tego, co jest wklejane, jest jednak bardzo przydatne, a struktura poleceń jest bardzo podobna do tego, co widzieliśmy wcześniej w pbcopy. Przefiltrujemy według „rcp”, ale oczywiście możesz filtrować wszystko, co chcesz
$ pbpaste | grep rcp
To, co zobaczysz jako wklejone, to tylko to, co pasuje do Twojego wyszukiwania „rcp” w danych w schowku.
Pbcopy i pbpaste mają o wiele więcej zastosowań, ale powinno to dać ci ogólne pojęcie o tym, jak z nich korzystać i być może dać ci kilka pomysłów na wdrożenie ich we własnej produktywności.Zrzut ekranu po prostu pokazuje, że możesz kopiować i wklejać z wiersza poleceń do aplikacji Finder (w tym przypadku TextEdit) bez utraty formatowania.
I tak, możesz użyć poleceń pbcopy i pbpaste na terminalu, a następnie ponownie wchodzić z nimi w interakcję z GUI systemu MacOS, używając standardowych skrótów klawiaturowych do kopiowania i wklejania Maca: Command+C i Command+ V. To idzie też w drugą stronę, kopię z GUI można wkleić za pomocą pbpaste w wierszu poleceń.
Użytkownicy zainteresowani poznaniem bardziej zaawansowanych zastosowań pbcopy i pbpaste do modyfikowania obszaru roboczego systemu Mac OS X za pomocą wiersza poleceń są zachęcani do przejrzenia stron man poleceń, które są w zasadzie wymienne i obejmują obie strony polecenia. Dostęp do tego można łatwo uzyskać za pomocą „man pbcopy” lub „man pbpaste”, gdzie zobaczysz więcej szczegółów na temat użycia poleceń, a także inne opcje dotyczące używania poleceń, dostosowywania kodowania, usuwania lub zachowywania szczegółów tekstu sformatowanego oraz dużo więcej.