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

109

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

    
задан Peter.O 07.11.2010 в 14:47
источник

13 ответов

111

Я использую xsel , но я использую его только с текстом простого текста и юникода.

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

xsel --clipboard < new-clipboard-contents.txt
xsel --clipboard > current-clipboard-contents.txt
    
ответ дан Adi Roiban 07.11.2010 в 14:56
источник
73

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), чтобы легко вставить в файл изображения (возможно, когда-нибудь мы будем использовать его в Nautilus ).

    
ответ дан kit.yang 07.11.2010 в 15:13
12

Parcellite

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

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

    
ответ дан Marco Ceppi 07.11.2010 в 15:50
10

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

Здесь вы можете увидеть их справочную страницу .

    
ответ дан slm 26.06.2013 в 13:52
9

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

ls | clipit;

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

    
ответ дан eMBee 01.09.2013 в 14:14
3

Для этого вы можете использовать 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 для более документации и примеров использования .

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

    
ответ дан landroni 05.04.2014 в 18:52
2

Pastie

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

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

ответ дан Marco Ceppi 07.11.2010 в 16:00
2

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

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

ответ дан Eyal Levin 29.07.2016 в 15:50
1

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

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

    
ответ дан user1364523 23.11.2013 в 16:06
1

Как о настройках демона 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 .

    
ответ дан v2r 05.04.2014 в 20:52
1

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

    
ответ дан baitisj 19.05.2015 в 23:40
0

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

xclip -selection clipboard -o -t TARGETS

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

ЦЕЛЕВЫХ

текст / РТФ

Текст / RichText

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

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

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

: -)

    
ответ дан xerostomus 20.08.2016 в 05:40
0

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

sudo apt-get install tmux

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

    
ответ дан karthick87 07.11.2010 в 14:57