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

Предположим, у вас есть разные файлы в каталоге: one.txt, two.jpg, three.pdf, four.jpg и т. Д. Вы хотите скопировать их все в буфер обмена из командной строки. Что-то вроде copyclipboard *. Как вы это делаете?

На основании этого ответа , который решает для конкретного случая, но имеет тип файла, жестко закодированный в сценарии. Интересно, есть ли более общее решение?

2
задан 13 April 2017 в 15:23

2 ответа

Фактически, команда, которую я разместил в исходном вопросе, была применима к широкому кругу ситуаций:

find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list

единственное требование - генерировать первую команду (в данном случае find) список абсолютных имен файлов для файлов, которые необходимо скопировать. Если вы отметите man find, вы увидите, что вы можете изменить команду, чтобы найти файлы, созданные позже определенной даты, больше определенного размера, имеющие определенные разрешения, соответствующие определенному регулярному выражению и т. Д.

Если хотите иметь команду быстрого доступа для конкретного случая использования - eq копируя файлы из текущего каталога и ниже в соответствии с определенной маской, вы можете написать короткий скрипт:

#!/bin/sh
find "$PWD" -name "$1" | xclip -i -selection clipboard -t text/uri-list

и вызвать его с помощью

cb "*.txt"

(где cb - имя сценария)

0
ответ дан 13 April 2017 в 15:23

Это для того, чтобы ускорить какой-то рабочий процесс, который у вас есть, или для какого-либо сценария?

Что я обычно делаю, так это то, что при входе в папку с файлами, которые я хочу скопировать, я запускаю nautilus ., чтобы получить файл браузер. Проблема рабочего процесса, которую я вижу при копировании прямо из терминала, заключается в том, что вам все равно нужно перейти в папку, куда вы хотите вставить файлы позже.

Пожалуйста, прокомментируйте, если я что-то здесь упускаю.

0
ответ дан 13 April 2017 в 15:23

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

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