Desde que você não perguntou sobre os Macs: cat file | pbcopy
(e da mesma forma pbpaste
) para esses.
Eu tenho arquivos em que preciso copiar o conteúdo deles para outro arquivo ou para um aplicativo e, em vez de abri-lo, selecionar todo o texto, copiar e colar. Gostaria de saber se posso efetivamente cat
do conteúdo do arquivo na área de transferência. Isso é possível?
Um programa do Windows seria bom, mas algo que funciona no Linux também seria útil. Eu não uso um Mac, mas pode ser útil para os outros. Pontos de bônus se isso puder ser feito na linha de comando.
Desde que você não perguntou sobre os Macs: cat file | pbcopy
(e da mesma forma pbpaste
) para esses.
xclip (provavelmente disponível nos repositórios do seu sistema Linux) funcionará para qualquer sistema X11, incluindo a maioria das versões do Linux, ou mesmo X sendo executado no windows ou no Mac OSX.
Exemplo de uso: xclip -sel clip < ~ / .ssh / id_rsa.pub
No Linux, você pode usar xsel
para imitar pbcopy
e pbpaste
:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
No Linux e em outros sistemas possíveis que suportam xclip
:
xclip -i -selection c file_to_copy_to_clipboard.txt
Eu vi @JustinSmith também mencionou xclip
, mas estava faltando um exemplo, então tive que procurar por mim mesmo.
Outro útil: cole sua área de transferência em um arquivo.
xclip -o -selection c > file_to_paste_to.txt
Use este programa f2clip. Execute-o a partir da linha de comando. Copia o conteúdo do arquivo para a área de transferência. Eu o uso para copiar arquivos de texto no navegador da web para processamento adicional. Faça o download do link ou escreva o seu próprio 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.
use o comando "type" como um equivalente a "cat" nas janelas para enviar o conteúdo dos arquivos em formato de texto para stdout (saída padrão), pois é o emulador de terminal / prompt que você está usando (CMD nas janelas). Então você pode combinar os comandos em algo como isto:
type myFile.txt > clip
agora o conteúdo de myFile.txt é transferido para o buffer do clipBoard (acho que é apenas um buffer, já que não é o linux). Também é um valor global, então um valor é mantido por vez em todo o sistema operacional. Então, isso é para o recurso "copiar", agora para o "colar":
Você quer anexar a um arquivo existente os valores do CLIP como coisas comuns:
tipo clipe > > target.txt (ou seu arquivo de destino - adicionará dados sem excluir o arquivo existente dentro desse arquivo de destino)
Ou, você quer adicionar / criar um novo arquivo com os valores do CLIP como:
tipo clipe > target.txt (ou seu arquivo de destino - adicionará dados ou SUBSTITUIR significa excluir o arquivo existente dentro desse arquivo de destino)
Tags clipboard copy-paste