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

¿Cómo puedo cargar el contenido de un archivo en el portapapeles?

Tengo un archivo en el que necesito copiar su contenido en otro archivo o en una aplicación y en lugar de abrirlo, seleccionar todo el texto y luego copiar y pegar me gustaría saber si puedo efectivamente cat el contenido del archivo en el portapapeles. ¿Es esto posible?

Un programa de Windows estaría bien pero algo que funcione en Linux también sería útil. Yo no uso un Mac pero podría ser útil para otros. Puntos extra si esto se puede hacer en la línea de comandos.

Respuestas (6)

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

Ya que no has preguntado por los Macs: cat file | pbcopy (y también pbpaste) para esos.

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

xclip (probablemente disponible en los repositorios de su sistema Linux) funcionará para cualquier sistema X11, incluyendo la mayoría de las versiones de Linux, o incluso X que se ejecute bajo Windows o Mac OSX.

Ejemplo de uso: xclip -sel clip < ~/.ssh/id_rsa.pub

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

En Linux, puedes usar xsel para imitar pbcopy y pbpaste:

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

Fuente: ¿Dónde está Walden? “ pbcopy y pbpaste para Linux

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

En Linux y posiblemente en otros sistemas que soporten xclip:

xclip -i -selection c file_to_copy_to_clipboard.txt

Vi que @JustinSmith también mencionó xclip pero le faltaba un ejemplo, así que tuve que buscarlo yo mismo.

Otro útil: pegar el portapapeles a un archivo.

xclip -o -selection c > file_to_paste_to.txt

Fuente

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

usa el comando “type” como equivalente a “cat” en windows para canalizar el contenido de los archivos en formato de texto a stdout (salida estándar) para eso es el emulador de Terminal/prompt que estás usando (CMD en windows). Así que puedes combinar los comandos en algo como esto :

type myFile.txt > clip

ahora el contenido de miArchivo.txt es transferido al buffer de clipBoard (creo que es solo un buffer ya que no es linux ). También es un valor global , por lo que un valor se mantiene a la vez OS amplia. Así que eso es para la función de “copiar”, ahora para la de “pegar” :

  • O bien quieres añadir a un archivo existente los valores del CLIP como las cosas habituales:

  • O , quieres añadir/crear un nuevo archivo con los valores del CLIP como :

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

Utilice este programa f2clip. Ejecútalo desde la línea de comandos. Copia el contenido del archivo en el portapapeles. Yo lo uso para copiar archivos de texto en el navegador web para su posterior procesamiento. Descárgalo de http://smrz.xf.cz/f2clip.exe o escribe el tuyo propio a partir de esta fuente (es feo):

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.

Lo siento.