pbcopy & pbpaste: управление буфером обмена из командной строки
Оглавление:
Копирование и вставка абсолютно необходимы практически для всех пользователей компьютеров, и если вы часто работаете в командной строке, вам нужно знать, как манипулировать буфером обмена Mac OS X непосредственно из подсказка терминала. Именно для этого предназначены команды Mac pbcopy и pbpaste, и, как вы могли догадаться, эти две команды делают именно то, на что они похожи: pbcopy — копирование, а pbpaste — вставка через командную строку.На самом деле они довольно мощные, и вы обязательно найдете их полезными в следующий раз, когда будете зависать с bash, tcsh, zsh или любой другой предпочитаемой командной оболочкой.
Мы рассмотрим краткое объяснение того, как использовать pbcopy и pbpaste для управления данными буфера обмена, с некоторыми примерами, показывающими, как перенаправить вывод команд терминала в качестве ввода в буфер обмена, и, конечно же, как удалить содержимое буфера обмена в командную строку с помощью pbpaste.
Использование pbcopy и pbpaste из командной строки на Mac
pbcopy: принимает стандартный ввод и помещает его в буфер обмена
pbcopy достаточно прост в использовании, просто направьте что-то в него, и он скопирует это в буфер обмена. Затем к этому можно получить доступ либо через pbpaste, либо через стандартную команду вставки Finder (command-v). Вот как его использовать:
$ pbcopy < файл.txt
Вот и все, теперь содержимое файла file.txt будет в вашем буфере обмена, и его можно будет вставить куда угодно. Но pbcopy намного мощнее, и вы также можете направить вывод команд и программ на копирование. Вот пример с командой 'ps':
$ ps aux | pbcopy
Это направляет результаты команды ps в буфер обмена, опять же, их можно вставить куда угодно. Если вы хотите немного отфильтровать свои результаты, вы также можете это сделать. Пример использования команды grep:
$ ps aux | корень grep | pbcopy
Это передает результаты команды 'ps aux', но фильтрует специально для 'root' и копирует в буфер обмена только эти результаты. Круто, да?
pbpaste: берет данные из буфера обмена и записывает их в стандартный вывод
pbpaste одинаково прост в использовании, он извлечет все, что вы поместили в буфер обмена, и выдаст его. В самой простой форме просто введите:
$ pbpaste
Это напечатает все данные, которые вы скопировали из команды pbcopy или команды копирования Finder (command-c). Вы можете легко направить этот вывод в файл через командную строку, чтобы получить к нему доступ позже, если хотите, с помощью этой простой команды:
$ pbpaste > pastetest.txt
Фильтрация вставленных файлов очень полезна, а структура команды очень похожа на ту, что мы видели ранее в pbcopy. Мы будем фильтровать по 'rcp', но, конечно, вы можете фильтровать что угодно
$ pbpaste | grep rcp
Вы увидите вставленным только то, что соответствует вашему запросу 'rcp' внутри данных в буфере обмена.
От pbcopy и pbpaste можно получить гораздо больше пользы, но это должно дать вам общее представление о том, как их использовать, и, возможно, дать вам некоторые идеи по их реализации в вашей собственной производительности.На снимке экрана просто показано, что вы можете копировать и вставлять из командной строки в приложение Finder (в данном случае TextEdit) без потери форматирования.
И да, вы можете использовать команды pbcopy и pbpaste на терминале, а затем снова взаимодействовать с ними из графического интерфейса MacOS, используя стандартные сочетания клавиш Mac для копирования и вставки Command+C и Command+ В. Это идет и в другом направлении, копию из графического интерфейса можно вставить с помощью pbpaste в командной строке.
Пользователям, которые заинтересованы в более эффективном использовании pbcopy и pbpaste для изменения монтажного стола Mac OS X с помощью командной строки, рекомендуется просмотреть справочные страницы команд, которые в основном взаимозаменяемы и охватывают обе стороны. команды. Доступ к этому легко достигается с помощью «man pbcopy» или «man pbpaste», где вы увидите некоторые дополнительные сведения об использовании команды, а также другие параметры того, как использовать команды, настроить кодировку, удалить или сохранить детали форматированного текста и намного больше.