Copiando arquivos da linha de comando para a área de transferência

18

Em um gerenciador de arquivos GUI, é possível selecionar alguns arquivos, pressionar Ctrl-C (que supostamente copia informações sobre os arquivos para a área de transferência), depois navegar para outra pasta e pressionar Ctrl-V, copiando o arquivo arquivos para esse diretório.

Como experiência, depois de copiar arquivos no gerenciador de arquivos, é possível alternar para um editor de texto - pressionando Ctrl-V, cola uma lista de nomes de arquivos absolutos. O processo inverso (copiar uma lista de arquivos de um editor de texto e colá-los em um gerenciador de arquivos) não funciona, o que é supostamente devido a diferentes átomos alvo

O objetivo do exercício é poder copiar alguns arquivos da linha de comando, por exemplo

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

em seguida, mude para um gerenciador de arquivos e copie-os para um diretório usando Arquivo- > Colar.

Então, a pergunta é: Que parâmetros de xclip (ou outro programa) eu preciso especificar para que o gerenciador de arquivos reconheça a seleção como uma lista de arquivos e habilite seu item de menu Colar?

Alternativamente, existe uma ferramenta de baixo nível que permita inspecionar o conteúdo da seleção X e ver quais dados ela contém atualmente?

    
por Sergey 01.11.2012 / 10:28

2 respostas

11

Sim, basicamente, você precisa oferecer a seleção CLIPBOARD como

  • text/uri-list com o conteúdo sendo

    /path/to/file1
    /path/to/file2
    
  • application/x-kde-cutselection ou x-special/gnome-copied-files com conteúdo copy\nfile://$path1\nfile://$path2cut\nfile://$path1\nfile://$path2...xclip ou loliclip

Com pcmanfm você pode conseguir isso com algo como

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

Eu também encontrei este comando loliclip que parecia promissor, mas embora eu pudesse recuperar os valores , Não consegui armazená-los e recuperá-los de perl-tk by %code% com êxito.

Você também deve ser capaz de implementá-lo em algumas linhas de %code% .

    
por 01.11.2012 / 16:21
1

por que não apenas fazer find fazer isso por você?

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

EDIT: pelo que entendi de man xclip : ele lida apenas com texto, não com arquivos ou diretórios.

    
por 01.11.2012 / 15:22