2010-02-25 21:35:38 +0000 2010-02-25 21:35:38 +0000
83
83

Como posso carregar o conteúdo de um ficheiro para a área de transferência?

Tenho um ficheiro onde preciso de copiar o seu conteúdo para outro ficheiro ou para uma aplicação e em vez de o abrir, seleccionar todo o texto e depois copiar e colar gostaria de saber se posso efectivamente cat o conteúdo do ficheiro para a área de transferência. Será isto possível?

Um programa Windows seria bom, mas algo que funcione no Linux também seria útil. Eu não uso um Mac mas poderia ser útil para outros. Pontos de bónus se isto puder ser feito na linha de comando.

Respostas (6)

63
63
63
2010-02-25 21:51:07 +0000

Uma vez que não perguntou sobre os Macs: cat file | pbcopy (e também pbpaste) para aqueles.

51
51
51
2010-02-25 22:35:24 +0000

xclip (provavelmente disponível no repositório do seu sistema Linux) funcionará para qualquer sistema X11, incluindo a maioria das versões Linux, ou mesmo o X sendo executado sob Windows ou Mac OSX.

Exemplo de utilização: xclip -sel clip < ~/.ssh/id_rsa.pub

35
35
35
2010-02-25 22:33:36 +0000

No Linux, pode usar xsel para imitar pbcopy e pbpaste:

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

Fonte: Onde está a Walden? “ pbcopy e pbpaste para Linux

13
13
13
2012-11-05 06:17:33 +0000

Em Linux e possíveis outros sistemas que suportem xclip:

xclip -i -selection c file_to_copy_to_clipboard.txt

Eu vi @JustinSmith também mencionar xclip mas faltava um exemplo, por isso tive de o procurar eu próprio.

Outra útil: cole a sua prancheta a um ficheiro.

xclip -o -selection c > file_to_paste_to.txt

Fonte

2
2
2
2017-06-06 10:44:32 +0000

usar o comando “type” como equivalente a “cat” no windows para canalizar o conteúdo dos ficheiros em formato de texto para stdout (saída padrão) para que seja o emulador Terminal/prompt que está a usar (CMD no windows). Assim pode combinar os comandos em algo como isto:

type myFile.txt > clip

agora o conteúdo do myFile.txt é transferido para o buffer clipBoard (penso que é apenas um buffer uma vez que não é linux ). É também um valor global , pelo que um valor é mantido de cada vez em todo o OS. Portanto, isso é para a função “copiar” , agora para a função “colar” :

  • Ou pretende anexar a um ficheiro existente os valores do CLIP como habitualmente:

  • Ou , pretende adicionar/criar um novo ficheiro com os valores do CLIP como :

1
1
1
2013-08-11 20:45:05 +0000

Utilize este programa f2clip. Execute-o a partir da linha de comando. Copia o conteúdo do ficheiro para a área de transferência. Utilizo-o para copiar ficheiros de texto para o navegador da web para processamento posterior. Descarregue-o de http://smrz.xf.cz/f2clip.exe ou escreva o seu próprio a partir desta fonte (é feio):

program f2clip;

 {$APPTYPE CONSOLE}

 uses
SysUtils,
clipbrd;

var i,r:integer;
    s:string;
 f:file;
 buf:array[0..1024*1024-1] of byte;

 data:string;
 d:pointer;
 begin
 try

 { TODO -oUser -cConsole Main : Insert code here }
    if (paramcount=0) then begin
    writeln('parameters: f2clip filename.txt');
end else begin
    write('parameter count: ');
  writeln(paramcount);  
    for i:=1 to paramcount do begin
    s:=paramstr(i);
    writeln('file: ',s);

    assignfile(f,s);
    reset(f,1);
    BlockRead(f,buf,1024*1024,r);
    writeln('size: ',r);
    buf[r]:=0;

    d:=@(buf[0]);
    data:=PAnsiChar(d);
Clipboard.AsText := data;
    close(f);
  end;

  end;

 except
   on E:Exception do
     Writeln(E.Classname, ': ', E.Message);
 end;
end.

Desculpe.