将文件从命令行复制到剪贴板


18

在GUI文件管理器中,可以选择一些文件,按Ctrl-C(可能会将有关文件的信息复制到剪贴板),然后导航到另一个文件夹并按Ctrl-V,然后将文件复制到该文件夹​​中。目录。

作为实验,在文件管理器中复制文件后,可以切换到文本编辑器-按Ctrl-V会粘贴绝对文件名列表。反向过程(从文本编辑器复制文件列表并将其粘贴到文件管理器)不起作用,这可能是由于目标原子不同

该练习的目标是能够从命令行复制一些文件,例如

find ${PWD} -name "*.txt" | xclip <magic parameters>

然后切换到文件管理器,然后使用File-> Paste将它们全部复制到目录中。

因此,问题是:xclip我需要指定(或其他程序)哪些参数,以便文件管理器将所选内容识别为文件列表并启用其“粘贴”菜单项?

另外,是否有一个低级工具可以检查X选择的内容并查看当前包含的数据?

Answers:


12

是的,基本上,您需要提供CLIPBOARD选择

  • text/uri-list 内容是

    /path/to/file1
    /path/to/file2
    
  • application/x-kde-cutselectionx-special/gnome-copied-files内容copy\nfile://$path1\nfile://$path2\0cut\nfile://$path1\nfile://$path2...\0

随着xclip你可以做到这一点,像

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

我还发现这loliclip看起来有前途的命令,但尽管我可以检索的值,我是不是能够存储他们,让他们从检索到loliclippcmanfm成功。

您还应该能够在几行中实现它perl-tk


好的,经过修改后,该text/uri-list变体对我有用-我能够从命令行复制内容并将文件粘贴到Dolphin文件管理器中。它甚至不需要file://前缀,这可以使命令与配合使用find。我已经编辑了您的问题,以添加在KDE中对我有用的命令-有人可以在Gnome或其他地方对其进行测试吗?
谢尔盖(Sergey)2012年

感谢您的修改。看起来两者file://都不是必需的pcmanfm(尽管pcmanfm本身包含了它)。我想一些特殊字符(至少是LF)应该经过URI编码。
斯特凡Chazelas

是。我可以证实你需要使用file:///new%0Aline对于包含换行符的文件,但其他任何字符(包括任何编码非ASCII)似乎要被罚款(至少pcmanfm)
斯特凡Chazelas

1

为什么不只是find为您做呢?

find ${PWD} -name "*.txt" -exec cp {} /full/path \; && gnome-open /full/path &

编辑:据我了解man xclip:它仅处理文本,而不处理文件或目录。


主要是因为这是一个实验,尽管我认为“现在将文件复制到剪贴板,然后再决定要粘贴到的位置”将是一种有用的方法。
谢尔盖(Sergey)2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.