xsel



xsel - утилита для работы с буфером обмена Linux
4 месяца назад Категория: LinuxУтилита xsel используется для получения выделенного текста и манипуляции с буфером обмена. Статья содержит примеры использования и перевод стандартного хелпа из man. Чтение буфера обмена может понадобиться при написании консольных скриптов, которые нужно повесить на горячие клавиши.
Как и xclip эта утилита не работает с изображениями!

Параметры


Опции ввода:
-i, --input Записать данные в xsel
-a, --append вставить после существующих данных в выбранном потоке (вместе с "i")
-f, --follow Добавить выбор как стандартный ввод / Append to selection as standard input grows (вместе с "i")
-o, --output Вывести данные (по умолчанию в консольный вывод)

Опции действия:
-c, --clear Очистить данные
-d, --delete Request that the selection be cleared and that the application owning it delete its contents
-x, --exchange Переключиться между PRIMARY / SECONDARY
-t Задержка выполнения операции в ms

Опции выбора:
-p, --primary Последняя выделенная область (по умолчанию).
Если выделить что-то, а потом снять выделение - то предыдущая выделенная область запоминается в Primary.
-s, --secondary Вторичный буфер
-b, --clipboard Буфер обмена (clipboard), то что мы явно скопировали.

-k, --keep Do not modify the selections, but make the PRIMARY and SECONDARY selections persist even after the programs they were selected in exit.

X options:
--display displayname Specify the connection to the X server

-l, --logfile Файл логирования ошибок
-n, --nodetach Do not detach from the controlling terminal. Without this option, xsel will fork to become a background process in input, exchange and keep modes.


Примеры


Сохранить текст в буфере обмена:
echo -n "Записать строку в буфер обмена" | xsel -b -iДобавить текст в буфер после существующего:
echo -n "Текст будет добавлен в буфер" | xsel -b -i -aКопировать выделенный текст в буфер обмена:


xsel | xsel -b -iСохранить текст из первичного буфера (последний выделенный текст) в файл:
xsel -p > ~/clip.txtПрочитать буфер обмена в переменную:


clipboard="$(xsel -b)"Вывести буфер обмена в консоль:


xsel | xsel -b -o

Содержание