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


81

Ich habe Dateien, deren Inhalt ich in eine andere Datei oder in eine Anwendung kopieren und nicht öffnen muss. Markieren Sie den gesamten Text, und kopieren Sie ihn und fügen Sie ihn ein. Ich möchte wissen, ob ich catden Dateiinhalt effektiv in die Zwischenablage kopieren kann . Ist das möglich?

Ein Windows-Programm wäre in Ordnung, 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 in der Befehlszeile möglich ist.


1
Aha, ich wusste , dass es vor gefragt wurde, für Windows: „How to Rohr Text von der Kommandozeile in die Zwischenablage“ bei superuser.com/questions/97762/... Vielleicht diese offen lassen für Linux dann?
Arjan

1
Vorort. Hierfür kann ich anscheinend clip.exe verwenden. Möchte aber trotzdem eine Nicht-Kommandozeilenversion. Vielleicht über das Kontextmenü von Windows Explorer?
Jonathon Watney

Antworten:



51

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

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


23
Anwendungsbeispiel:xclip -sel clip < ~/.ssh/id_rsa.pub
wim


13

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

xclip -i -selection c file_to_copy_to_clipboard.txt

Ich habe @JustinSmith auch erwähnt, xclipaber es fehlte ein Beispiel, also musste ich es selbst nachschlagen.

Ein weiterer nützlicher Punkt: Fügen Sie Ihre Zwischenablage in eine Datei ein.

xclip -o -selection c > file_to_paste_to.txt

Quelle


2

Verwenden Sie den Befehl "type" als Entsprechung zu "cat" in Windows, um den Inhalt der Dateien im Textformat in "stdout" (Standardausgabe) umzuleiten. Dies ist der von Ihnen verwendete Terminal- / Prompt-Emulator (CMD in Windows). Sie können die Befehle also folgendermaßen kombinieren:

type myFile.txt > clip 

Jetzt wird der Inhalt von myFile.txt in den Zwischenablage-Puffer übertragen (ich denke, es ist nur ein Puffer, da es kein Linux ist). Es ist auch ein globaler Wert, sodass OS-weit jeweils ein Wert festgehalten wird. Das ist also für das "Kopieren" -Feature, jetzt für das "Einfügen":

  • Entweder möchten Sie die Werte des CLIP wie gewohnt an eine vorhandene Datei anhängen:

    tippe clip >> target.txt (oder deine Zieldatei - füge Daten hinzu, ohne die existierende in dieser Zieldatei zu löschen)

  • Oder Sie möchten eine neue Datei mit den Werten des CLIP wie folgt hinzufügen / erstellen:

    Geben Sie clip> target.txt ein (oder Ihre Zieldatei - fügt Daten hinzu, oder OVERWRITE bedeutet, dass die vorhandene Datei in dieser Zieldatei gelöscht wird.)


1

Verwenden Sie dieses Programm f2clip. Führen Sie es über die Befehlszeile aus. Es kopiert Dateiinhalte in die Zwischenablage. Ich benutze es zum Kopieren von Textdateien in den Webbrowser zur weiteren Verarbeitung. Laden Sie es von http://smrz.xf.cz/f2clip.exe herunter 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.

Es tut uns leid.


1
+1. Ich schätze diesen Aufwand, obwohl ich denke, dass xclip eine bessere Lösung ist.
0xc0de
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.