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

Jak mogę wczytać zawartość pliku do schowka?

Mam pliki, których zawartość muszę skopiować do innego pliku lub do aplikacji i zamiast otwierać je, zaznaczać cały tekst, a następnie kopiować i wklejać, chciałbym wiedzieć, czy mogę efektywnie cat zawartość pliku do schowka. Czy jest to możliwe?

Program dla Windows byłby w porządku, ale przydałoby się też coś, co działa na Linuksie. Nie używam Maca, ale może to być przydatne dla innych. Punkty bonusowe, jeśli można to zrobić w wierszu poleceń.

Odpowiedzi (6)

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

Ponieważ nie pytałeś o komputery Mac: cat file | pbcopy (i analogicznie pbpaste) dla tychże.

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

xclip ](http://sourceforge.net/projects/xclip/) (prawdopodobnie dostępny w repozytoriach twojego systemu Linux) będzie działał dla każdego systemu X11, włączając w to większość wersji Linuksa, a nawet X uruchamiane pod Windows lub Mac OSX.

Przykładowe użycie: xclip -sel clip < ~/.ssh/id_rsa.pub

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

W Linuksie, możesz użyć xsel do naśladowania pbcopy i pbpaste:

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

Źródło: Gdzie jest Walden? “ pbcopy i pbpaste dla Linuksa ](http://web.archive.org/web/20120626184619/http://whereswalden.com/2009/10/23/pbcopy-and-pbpaste-for-linux)

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

Na Linuksie i być może innych systemach, które obsługują xclip:

xclip -i -selection c file_to_copy_to_clipboard.txt

Widziałem, że @JustinSmith również wspomniał o xclip, ale brakowało mu przykładu, więc musiałem samemu to sprawdzić.

Kolejny przydatny: wklej schowek do pliku.

xclip -o -selection c > file_to_paste_to.txt

Źródło

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

użyj komendy “type” jako odpowiednika “cat” w windows do przesłania zawartości pliku w formacie tekstowym do stdout (standardowego wyjścia), czyli emulatora terminala/prompta, którego używasz (CMD w windows). Możesz więc połączyć te komendy w coś takiego :

type myFile.txt > clip

Teraz zawartość pliku myFile.txt jest przesyłana do bufora clipBoardu (myślę, że to tylko bufor, ponieważ nie jest to linux). Jest to również wartość globalna, więc jedna wartość jest przechowywana w danym momencie w całym systemie operacyjnym. Więc to tyle jeśli chodzi o funkcję “kopiuj”, teraz “wklej” :

  • Albo chcesz dodać do istniejącego pliku wartości z CLIP jak zwykle:

  • Albo chcesz dodać/utworzyć nowy plik z wartościami z CLIP jak :

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

Użyj tego programu f2clip. Uruchom go z linii poleceń. Kopiuje on zawartość pliku do schowka. Używam go do kopiowania plików tekstowych do przeglądarki internetowej w celu dalszego przetwarzania. Pobierz go z http://smrz.xf.cz/f2clip.exe lub napisz własny z tego źródła (jest brzydki):

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.

Przepraszam.