Вопрос Скопировать и вставить утилиту буфера обмена командной строки?


В Windows я использовал утилиты copy-and-paste для командной строки в командной строке ...

  • pclip.exe а также gclip.exe 

Это были порты UnixUtils для Windows (но они обрабатывали только обычный текст). Было еще несколько других родной Утилиты Windows, которые могут записывать / извлекать любой формат.

Я искал что-то подобное в Synaptic Package Manager, но ничего не могу найти.

Что-то там, что я пропустил? ... или, может быть, это доступно в сценариях Bash?

Тип полезности, которую я хотел бы, сможет читать / записывать через std-in / std-out или file-in / file-out, а также обрабатывать форматы буфера обмена Unicode, Rich Text Format, изображения и т. Д. ...

NB: Я не после менеджера буфера обмена.


116
2017-11-07 13:47


происхождения


См. Соответствующий вопрос от unix.SE: unix.stackexchange.com/questions/30093/... - landroni
stackoverflow.com/questions/749544/pipe-to-from-clipboard - Ciro Santilli 新疆改造中心 六四事件 法轮功
vim[enter]"+P  : 3  (бег напор а затем из "  register - то есть системный буфер обмена - вставить текст), Тогда у вас есть (один из) лучший текстовый редактор (ы) на кончиках пальцев, так что вы можете :w filename, Кроме того, я всегда запускаю напор в tmux это означает, что если мне нужно скопировать небольшой текст на терминал, я просто выберите (с v или V для выбора строки), а затем "+y (который дергает или копирует в буфер обмена), затем я создаю новую панель tmux и могу <ctrl> + <shift> + v вставить. Кроме того, я буду использовать xsel -b > filenameесли мне нужно написать буфер обмена в файл. ура ^ И ^ - dylnmc


ответы:


я использую xsel  Install xsel, но я использую его только с текстом и текстом в формате unicode.


xsel может копировать и вставлять в три разных «буфера обмена». По умолчанию используется Основной выбор X Window System, который в основном является тем, что в настоящее время находится в процессе выбора. Система X Window также имеет вторичный выбор (который не используется много), и выбор буфера обмена, Вы, вероятно, ищете выбор буфера обмена, так как это использует среда рабочего стола (например, Gnome, KDE, XFCE) для своего буфера обмена. Чтобы использовать это с xsel:

xsel --clipboard < new-clipboard-contents.txt
xsel --clipboard > current-clipboard-contents.txt

118
2017-11-07 13:56



Ади ... xsel кажется (?), чтобы быть только текстовым (как вы упомянули), поэтому я буду искать более комплексную утилиту ... Однако мне было очень интересно прочитать ее Информация документация ... Я знал, что щелчок мышью по середине (в терминале) вставляет выделенный текст в командную строку, но я не понимал, что эта функция применима к большинству X-приложений ... Самые последние выбор текста можно вставить с помощью среднего щелчка (но некоторые приложения, похоже, переопределяют его). Два буфера обмена! .. Очень удобно .... Я должен больше узнать о третьем буфере X-выбора. - Peter.O
xsel работает с текстом Unicode. Вы можете больше узнать о X-буфере обмена на страницах вики-версий freedesktop: freedesktop.org/wiki/Specifications/ClipboardsWiki , - Adi Roiban
Я должен окунуться в эту новую информацию .. 3 буфера обмена! PRIMARY, SECONDARY, CLIPBOARD ... Это очень отличается от того, к чему я привык в Windows ... Третий «CLIPBOARD», похоже, такой же, как в буфере обмена Windows / Mac ... но это смешно поздно здесь .. Я вернусь к этому завтра ... (Инерстинг, но слишком много, чтобы читать сейчас ..) - Peter.O
Благодаря... xsel выполняет работу (для текста) ... Что-то может появиться для других форматов. - Peter.O
xsel -b сокращается для xsel --clipboard, - Andrei Duma


Xclip  Install xclip может быть одним из ваших вариантов.

cat samples.sh | xclip -sel clip

вы также можете установить его в файле .bashrc с помощью псевдонима.

alias clipboard='xclip -sel clip'

Ключ для вставки двоичных данных в файл с xclip это сказать, что Типы носителей у вас есть в буфере обмена. Для PNG вы можете:

xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"

Итак, теперь ~/Dropbox/.mybashrc ;) вы можете добавить псевдоним (clipboard2photo), чтобы легко вставить в файл изображения (возможно, когда-нибудь мы получим его на Наутилусе).


79
2017-11-07 14:13



Это выглядит хорошо, но у меня просто не было возможности заглянуть в него, но ... Я сделаю это как можно скорее ... - Peter.O
xclip также обрабатывает только текстовые выделения. - Steve Beattie
Кроме того, команда может быть такой же короткой, как xclip -se c - Jeromy Anglim
Я не понимаю, почему это не на странице руководства - Sergiy Kolodyazhnyy
Я получаю это при попытке вставить изображения в файл. Ошибка: целевое изображение / png недоступно. - Emilio Nicolás


Parcellite

Я использовал парселлиум в течение многих лет в качестве менеджера буфера обмена. Он запускается в области уведомлений и предлагает множество опций для управления как Первичным выбором, так и стандартным буфером обмена freedesktop.org.

Tray Icon

Это был мой ответ на управление элементами буфера обмена.

Preferences


12
2017-11-07 14:50



Это похоже на хорошую панель-приложение .. «Действия» удобны ... но, к сожалению, это не тот тип инструмента, который я ищу. Я переформулировал свой вопрос, чтобы включить в него более подробную информацию ... Возможно, именно то, что мне нужно, - это неясный сценарий на Python или тому подобное ... Было несколько очень хороших родной Утилиты только для Windows, поэтому я думаю, что эквивалент будет плавать где-то в мире Ubuntu / Linux ... - Peter.O
FYI, Parcellite имеет классную особенность - историю скопированного текста. Чтобы активировать автоматическую вставку из диалогового окна истории, вы также должны install xdotool - Noam Manos


Недавно я столкнулся с инструментами xclip-copyfile, xclip-cutfile, а также xclip-pastefile (пакет xclip). Эти инструменты позволяют копировать / вырезать / вставлять целые файлы через командную строку.

Вы можете видеть их справочная страница Вот.


10
2018-06-26 11:52





clipit ( http://clipit.rspwn.com/ ) является менеджером буфера обмена для gtk, который позволяет передавать текст из командной строки:

ls | clipit;

Редактировать: В настоящее время на ClipIt нет ничего Официальный веб-сайт но вы можете получить его от GitHub


10
2017-09-01 12:14



Я использую ClipIt по другим причинам и не знаю, что он способен получать данные с терминала. Большое спасибо за эту информацию. - Juraj.Lorinc


Вы можете использовать CopyQ для этого. С веб-сайта:

Менеджер буфера обмена с расширенными функциями

  • CopyQ - это менеджер буфера обмена с возможностью поиска и редактирования.
  • Поддерживает Linux и Windows.
  • Экспериментальная поддержка OS X 10.9+.
  • Сохраните текст, HTML, изображения и любой другой пользовательский формат.
  • Расширенный интерфейс командной строки и сценарии.

Чтобы скопировать текстовый файл:

copyq action "cat /tmp/file.txt" "" && copyq select 0

Чтобы скопировать изображение (вам нужно указать тип MIME):

copyq write image/png - < file.png && copyq select 0

Чтобы скопировать файл данных (вам нужно указать тип MIME):

copyq write application/pdf - < file.pdf && copyq select 0

Проверьте свою вики документация и примеры использования,

Вы можете установить его либо через PPA: noobslab / индикаторы PPA или путем ручной загрузки расфасованных .deb файлы последней стабильной версии проекта Раздел загрузки,


3
2018-04-05 16:52



Ppa не обновляется, по крайней мере для Ubuntu 16.04, лучше загрузить его с Выпуски сайта CopyQ GitHub непосредственно. - Nicolai


Pastie

Недавно был выпущен новый менеджер буфера обмена с поддержкой индикатора апплета (хотя еще не в архиве). Помимо отслеживания истории текстового буфера обмена, он также захватывает и сохраняет записи в буфере обмена данных (файлы, папки и т. Д.), Что может быть полезно, если вы много манипулируете файлами через среду GUI / буфер обмена.

alt text

Вы можете добавить следующие PPA: ppa:hel-sheep/pastie


2
2017-11-07 15:00



Спасибо за предложение Marco, но у меня нет необходимости в менеджере буфера обмена. Иногда я вставляю временный текст в текстовый файл, но на самом деле обнаруживаю, что «менеджер истории» замедляет работу (но это только я). Я действительно после инструмента командной строки, который может выборочно извлекать / хранить конкретный формат из / в clipboad. Я предполагаю, что буфер обмена Ubuntu похож на Windows один (я был бы ошеломлен, если бы он был значительно другим, потому что требования пользователей одинаковы на любой платформе) ... Я уверен кто-то найдет ваше предложение полезным. - Peter.O


Если вы просто хотите скопировать некоторый текст в буфер обмена:

echo -n "some-text" | xclip -selection clipboard


2
2017-07-29 13:50





Я думаю, что следующий инструмент удовлетворит ваши требования:

Вырезать и вставлять файлы в терминал


1
2017-11-23 15:06



Хотя это теоретически может ответить на вопрос, было бы предпочтительнее чтобы включить здесь основные части ответа и предоставить ссылку для справки. - guntbert


Как насчет Настройки демона GPaste, апплет демона управления буфером обмена с интерфейсом DBus:

  • GPaste - это пакет управления буфером обмена для GNOME, написанный в Vala
  • Настройки настроек GPaste обновлены, чтобы лучше соответствовать недавнему GNOME
  • Daemon теперь полностью уравновешен (не больше опроса, меньше энергии)
  • Теперь у GPasteClipboard есть сигнал «смены владельца», аналогичный сигналу GtkClipboard
  • Новая настройка для установки максимального объема памяти, используемого данными в истории
  • Режим FIFO был сброшен (отсутствует дизайн)
  • Очистка и модернизация кода
  • g_paste_history_add теперь полностью переносится
  • g_paste_keybinder_add_keybinding теперь переносится полностью

Монтаж: 

Чтобы установить его в Ubuntu 13.10, 13,04, 12,10 или 12,04, используйте следующие команды:

sudo add-apt-repository ppa:webupd8team/gnome3
sudo apt-get update
sudo apt-get install gnome-shell-extensions-gpaste

Или устанавливать gpaste через synaptic package manager (а также gnome-shell-extensions-gpaste если вы используете Gnome-Shell).

Другая опция - установка через software-center,

enter image description here


1
2018-04-05 18:52





Я пытаюсь разработать лучшее решение, которое не является менеджером буфера обмена, найденным в https://github.com/baitisj/copypasta , Он не очень корректно обрабатывает RTF и HTML, а большие изображения создают проблемы, но не стесняются вилки и отправки патчей.


1
2018-05-19 21:40