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

Hoe kan ik de inhoud van een bestand op het klembord laden?

Ik heb een bestand waarvan ik de inhoud wil kopiëren naar een ander bestand of naar een toepassing en in plaats van het te openen, alle tekst te selecteren en dan te kopiëren en te plakken, zou ik graag willen weten of ik de inhoud van het bestand effectief cat in het klembord kan kopiëren. Is dit mogelijk?

Een Windows programma zou fijn zijn, maar iets dat werkt op Linux zou ook nuttig zijn. Ik gebruik geen Mac, maar het kan nuttig zijn voor anderen. Bonuspunten als dit op de opdrachtregel kan worden gedaan.

Antwoorden (6)

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

Omdat je niet naar Macs vroeg: cat file | pbcopy (en ook pbpaste) voor die.

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

(http://sourceforge.net/projects/xclip/) (waarschijnlijk beschikbaar in de repos van uw Linux systeem) werkt voor elk X11 systeem, inclusief de meeste Linux versies, of zelfs X dat onder windows of Mac OSX draait.

Voorbeeldgebruik: xclip -sel clip < ~/.ssh/id_rsa.pub

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

In Linux kun je xsel gebruiken om pbcopy en pbpaste na te bootsen:

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

Bron: Where’s Walden? “ pbcopy en pbpaste voor Linux

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

Op Linux en mogelijk andere systemen die xclip ondersteunen:

xclip -i -selection c file_to_copy_to_clipboard.txt

Ik zag dat @JustinSmith ook xclip noemde, maar een voorbeeld miste, dus moest ik het zelf opzoeken.

Nog zo'n handige: plak je klembord in een bestand.

xclip -o -selection c > file_to_paste_to.txt

bron

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

gebruik het commando “type” als equivalent van “cat” in windows om de inhoud van het bestand in tekstformaat naar stdout (standaard uitvoer) te pijpen, want dat is de Terminal/prompt emulator die je gebruikt (CMD in windows). Dus je kunt de commando’s combineren tot iets als dit :

type myFile.txt > clip

nu wordt de inhoud van mijnBestand.txt overgebracht naar de clipBoard buffer (ik denk dat het gewoon een buffer is, omdat het niet Linux is). Het is ook een globale waarde, dus één waarde per keer wordt OS breed vastgehouden. Dus dat is voor de “copy” functie, nu voor de “paste” :

  • Ofwel wil je de waarden van de CLIP toevoegen aan een bestaand bestand zoals gebruikelijk:

  • Of , wil je een nieuw bestand toevoegen/aanmaken met de waarden van de CLIP zoals :

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

Gebruik dit programma f2clip. Start het vanaf de opdrachtregel. Het kopieert de inhoud van een bestand naar het klembord. Ik gebruik het om tekstbestanden naar de webbrowser te kopiëren voor verdere verwerking. Download het van http://smrz.xf.cz/f2clip.exe of schrijf je eigen programma van deze bron (het is lelijk):

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.

Sorry.