Kopiowanie i wklejanie jest jedną z najczęściej wykonywanych akcji przez użytkowników komputera. Narzędzia pbcopy i pbpaste znajdujące się w MacOS pozwalają te zadania wykonywać z poziomu linii komend. Możemy bezpośrednio wstawiać do schowka zawartość pliku czy rezultat wykonania komendy, jak również wyświetlać zawartość schowka lub zapisać go do pliku. Przejdźmy przez kilka przykładów, aby zaprezentować możliwości tego prostego narzędzia.
Pbcopy
Zacznijmy od narzędzia pbcopy. Program kopiuje do schowka standardowe wejście. Przykłądowo jeśli chcemy skopiować fragment tekstu, wykonujemy polecenie:
echo 'Przykładowy tekst' | pbcopy
Teraz możemy przejść do dowolnego innego programu i wkleić tekst (np. poprzez wciśnięcie Command+V). Zobaczymy, że został wklejony „Przykładowy tekst”.
Kopiowanie zawartości pliku
Zawartość pliku możemy skopiować, wpisując polecenie:
pbcopy < lipsum.txt
Lub używając polecenia cat i pipea:
cat lipsum.txt | pbcopy
Kopiowanie wyniku wykonania polecanie
Załóżmy, że chcemy skopiować wynik polecenia ps aux, wystarczy użyć pipa i przekazać wyjście komendy do polecenia pbcopy:
ps aux | pbcopy
Użycie pbpaste
To polecenie wypisuje na standardowe wyjście zawartość schowka. A więc kopiujemy coś, a następnie wydajemy polecenie pbpaste w konsoli i zostanie to wypisane na ekran. Możemy połączyć to z pbcopy, kopiując zawartość pliku, a następnie ją wypisując na terminal:
michal@: cat lipsum.txt| pbcopy michal@: pbpaste Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tristique lorem sed tincidunt fringilla. Donec efficitur lorem sit amet elit imperdiet, non congue libero ornare. Mauris dignissim magna non ipsum eleifend cursus. Nullam sodales nunc sed nulla aliquam egestas. Sed lacinia vulputate pretium. Pellentesque ultrices massa sit amet lacus pretium, vitae convallis sapien vestibulum. Duis tempus mi eget faucibus blandit. Nam dapibus id metus gravida mollis. Sed id neque non tellus elementum vehicula. Maecenas non bibendum quam. Etiam enim libero, ultricies ac est eu, cursus mollis nibh. Praesent malesuada vehicula imperdiet. Ut in ultricies risus, quis posuere erat.
Tak samo jak w poprzednim przypadku możemy użyć pipa do przekazania zawartości schowka na wejście kolejnego polecenia, na przykład:
michal@: pbpaste | grep ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tristique lorem sed tincidunt fringilla. Donec efficitur lorem sit amet elit imperdiet, non congue libero ornare. Mauris dignissim magna non ipsum eleifend cursus. Nullam sodales nunc sed nulla aliquam egestas. Sed lacinia vulputate pretium. Pellentesque ultrices massa sit amet lacus pretium, vitae convallis sapien vestibulum. Duis tempus mi eget faucibus blandit. Nam dapibus id metus gravida mollis. Sed id neque non tellus elementum vehicula. Maecenas non bibendum quam. Etiam enim libero, ultricies ac est eu, cursus mollis nibh. Praesent malesuada vehicula imperdiet. Ut in ultricies risus, quis posuere erat.
Zapis zawartości schowka do pliku
Możemy zapisać zawartość naszego schowka do pliku, wystarczy użyć polecenia:
michal@: pbpaste > test.txt
Podsumowanie
To w zasadzie wszystko. Dwa bardzo użyteczne polecenia, które mogą nam ułatwić codzienną pracę. Więcej informacji możecie znaleźć w podręczniku użytkownika: https://www.unix.com/man-page/osx/1/pbcopy/ oraz https://www.unix.com/man-page/osx/1/pbpaste/