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

Wie kann ich den Inhalt einer Datei in die Zwischenablage laden?

Ich habe eine Datei, deren Inhalt ich in eine andere Datei oder in eine Anwendung kopieren muss. Anstatt die Datei zu öffnen, den gesamten Text auszuwählen und dann zu kopieren und einzufügen, möchte ich wissen, ob ich den Inhalt der Datei effektiv in die Zwischenablage kopieren kann (cat). Ist dies möglich?

Ein Windows-Programm wäre gut, aber etwas, das unter Linux funktioniert, wäre auch nützlich. Ich benutze keinen Mac, aber es könnte für andere nützlich sein. Bonuspunkte, wenn dies auf der Kommandozeile gemacht werden kann.

Antworten (6)

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

Da Sie nicht nach Macs gefragt haben: cat file | pbcopy (und ebenfalls pbpaste) für diese.

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

xclip (wahrscheinlich in den Repos Ihres Linux-Systems verfügbar) funktioniert für jedes X11-System, einschließlich der meisten Linux-Versionen, oder sogar X, das unter Windows oder Mac OSX läuft.

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

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

Unter Linux können Sie xsel verwenden, um pbcopy und pbpaste zu imitieren:

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

Quelle: Wo ist Walden? “ pbcopy und pbpaste für Linux

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

Unter Linux und möglichen anderen Systemen, die xclip unterstützen:

xclip -i -selection c file_to_copy_to_clipboard.txt

Ich habe gesehen, dass @JustinSmith auch xclip erwähnt hat, aber es fehlte ein Beispiel, also musste ich es selbst nachschlagen.

Eine weitere nützliche Funktion: Einfügen aus der Zwischenablage in eine Datei.

xclip -o -selection c > file_to_paste_to.txt

Quelle

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

Verwenden Sie den Befehl “type” als Äquivalent zu “cat” in Windows, um den Inhalt der Datei im Textformat in stdout (Standardausgabe) zu leiten, denn das ist der Terminal/Prompt-Emulator, den Sie verwenden (CMD in Windows). So können Sie die Befehle zu etwas wie diesem kombinieren:

type myFile.txt > clip

nun wird der Inhalt von myFile.txt in den ClipBoard-Puffer übertragen (ich denke, es ist nur ein Puffer, da es nicht Linux ist). Es ist auch ein globaler Wert, also wird immer nur ein Wert OS-weit gehalten. So, das war’s für die “Kopier”-Funktion, jetzt zum “Einfügen”:

  • Entweder Sie wollen die Werte des CLIP an eine bestehende Datei anhängen, wie üblich:

  • Oder Sie wollen eine neue Datei mit den Werten des CLIP hinzufügen/erstellen, wie :

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

Verwenden Sie dieses Programm f2clip. Führen Sie es über die Befehlszeile aus. Es kopiert Dateiinhalte in die Zwischenablage. Ich verwende es zum Kopieren von Textdateien in den Webbrowser zur weiteren Verarbeitung. Laden Sie es von http://smrz.xf.cz/f2clip.exe oder schreiben Sie Ihr eigenes aus dieser Quelle (es ist hässlich):

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.