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

В 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: Я не после менеджера буфера обмена.

1
задан 1 April 2017 в 05:52

12 ответов

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

cat samples.sh | xclip -sel clip

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

alias clipboard='xclip -sel clip'

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

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

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

74
ответ дан 26 May 2018 в 00:33
  • 1
    Это выглядит хорошо, но у меня просто не было возможности заглянуть в него, но ... Я сделаю это как можно скорее ... – Peter.O 8 November 2010 в 11:03
  • 2
    xclip также обрабатывает только текстовые выделения. – Steve Beattie 9 November 2010 в 02:04
  • 3
    Кроме того, команда может быть кратна xclip -se c – Jeromy Anglim 5 October 2011 в 06:05
  • 4
    Я не понимаю, почему это не на странице руководства – Sergiy Kolodyazhnyy 24 April 2015 в 09:37
  • 5
    Я получаю это при попытке вставить изображения в файл. Ошибка: целевое изображение / png недоступно. – Emilio Nicolás 21 July 2016 в 15:08

Parcellite

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

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

Tray Icon

12
ответ дан 26 May 2018 в 00:33
  • 1
    Это похоже на хорошее приложение-панель. «Действия» удобен ... но, к сожалению, это не тот инструмент, который я ищу. Я переформулировал свой вопрос, чтобы включить в него более подробную информацию ... Возможно, то, что мне нужно, - это неясный сценарий Python, или тому подобное ... Было несколько очень полезных native утилит Windows-only, поэтому я думаю, что эквивалент будет плавать где-то в мире Ubuntu / Linux ... – Peter.O 7 November 2010 в 20:18
  • 2
    FYI, Parcellite имеет классную особенность - историю скопированного текста. Чтобы активировать автоматическую вставку из диалогового окна истории, вы также должны install xdotool – Noam Manos 25 January 2018 в 18:01

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

Здесь вы можете увидеть их xclip .

10
ответ дан 26 May 2018 в 00:33

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

ls | clipit;

Изменить: В настоящее время , на официальном сайте ClipIt нет ничего, но вы можете получить его от GitHub

9
ответ дан 26 May 2018 в 00:33
  • 1
    Я использую ClipIt по другим причинам и не знаю, что он способен получать данные с терминала. Большое спасибо за эту информацию. – Juraj.Lorinc 23 December 2017 в 17:33

Вы можете использовать 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

Проверить их wiki для более CopyQ .

Вы можете установить его либо через ppa: noobslab / indicator PPA или вручную загружая предварительно упакованные файлы .deb последней стабильной версии из раздела «Загрузки проекта».

3
ответ дан 26 May 2018 в 00:33

Pastie

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

[ ! d3]

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

2
ответ дан 26 May 2018 в 00:33
  • 1
    Спасибо за предложение Marco, но у меня нет необходимости в менеджере буфера обмена. Иногда я вставляю временный текст в текстовый файл, но на самом деле я нахожу, что «менеджер истории» замедляет работу (но это только я). Я действительно после инструмента командной строки, который может выборочно извлекать / сохранять конкретный формат из / в clipboad. Я предполагаю, что буфер обмена Ubuntu похож на Windows один (я был бы ошеломлен, если бы он был значительно другим, потому что требования пользователей одинаковы на любой платформе) ... Я уверен, что кто-то найдет ваше предложение полезным. – Peter.O 7 November 2010 в 19:45

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

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

2
ответ дан 26 May 2018 в 00:33

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

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

1
ответ дан 26 May 2018 в 00:33

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

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

Установка:

Чтобы установить его в Установка: , 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

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

Другой вариант - установка через software-center.

1
ответ дан 26 May 2018 в 00:33

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

1
ответ дан 26 May 2018 в 00:33

Для формата RTF я использую эту процедуру: копирую текст в буфер обмена в приложении. Если я не уверен, что это rtf или что-то, я использую эту команду для проверки:

xclip -selection clipboard -o -t TARGETS

Когда он печатает что-то вроде этого:

ЦЕЛИ

[d3 ] text / rtf

text / richtext

Поэтому я не могу удержаться от громкого восклицания: «Господи, это гениально! Да благословит Бог! После этой выстреленной молитвы следует только очевидная вещь:

xclip  -selection clipboard -o -t text/rtf > mypreciousRTFcontent.rtf

Затем я обрабатываю все это в libreoffice и отправляю всех своих друзей как спам.

: -)

0
ответ дан 26 May 2018 в 00:33

Да, есть. Попробуйте tmux, который более продвинут, чем screen. Чтобы установить tmux, введите это в терминал:

sudo apt-get install tmux

Также попробуйте gpm. Команды gpm и tmux могут быть хорошей комбинацией ...

0
ответ дан 26 May 2018 в 00:33
  • 1
    Экран - многотерминальный эмулятор, а не менеджер буфера обмена. – Marco Ceppi♦ 7 November 2010 в 18:25
  • 2
    Кажется, что экран и tmux работает только на терминальном уровне (я не могу найти ссылку на «буфер обмена» в любом из своих info ) ... Что я ищу, это общесистемный буфер обмена для копирования и вставки утилиты ... Возможно, я не должен использовать терминал ! d5] как тег ... Тип полезности, которую я хочу, сможет читать / записывать через std-in / std-out или file-in / file-out, а также обрабатывать Unicode / Rich-text / Picture / etc форматы буфера обмена ... – Peter.O 7 November 2010 в 18:30
  • 3
    Я только что нашел ссылку на stackoverflow ... gpm для не-X-терминала «буфер обмена», а GNU screen имеет свой собственный «буфер обмена», также ... Теперь я вижу, почему вы упомянули о них ... Это отличная информация, и это привело меня к более глубокому пониманию того, что происходит за кулисами ... Я буду придерживаться базовой системы Xterm " ; (clipboad) на данный момент .. Linux " clipboard " кажется, настолько отличается от Windows, что то, что я искал, может быть сделано совсем по-другому здесь .. +1 :) – Peter.O 9 November 2010 в 23:54

Другие вопросы по тегам:

Похожие вопросы: