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 < file.txt
Все, тепер вміст file.txt буде у вашому буфері обміну, готовий до вставлення куди завгодно. Але pbcopy є набагато потужнішим, і ви також можете спрямовувати вихід команд і програм на копіювання. Ось приклад із командою 'ps':
$ ps aux | pbcopy
Це передає результати команди ps у буфер обміну, і знову їх можна вставити куди завгодно. Якщо ви хочете трохи відфільтрувати свої результати, ви також можете зробити це. Приклад використання команди grep:
$ ps aux | grep root | 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+ В. Це також йде в іншому напрямку, копію з GUI можна вставити за допомогою pbpaste у командному рядку.
Користувачам, які зацікавлені в більш потужному використанні pbcopy і pbpaste для зміни монтажної панелі Mac OS X за допомогою командного рядка, рекомендується переглянути сторінки довідки про команди, які в основному взаємозамінні та охоплюють обидві сторони команди. Доступ до цього легко досягається за допомогою «man pbcopy» або «man pbpaste», де ви побачите деякі додаткові відомості про використання команди, а також інші параметри використання команд, налаштування кодування, видалення або збереження деталей форматованого тексту та набагато більше.