Bir dosyanın içeriğini panoya nasıl yükleyebilirim?


81

İçeriğini başka bir dosyaya veya bir uygulamaya kopyalamam gereken bir dosyam var ve açmak yerine tüm metni seçip kopyalayıp yapıştırarak catdosya içeriğini panoya etkili bir şekilde aktarabiliyorsam bilmek isterim . Mümkün mü?

Bir Windows programı iyi olurdu, ancak Linux üzerinde çalışan bir şey de faydalı olacaktır. Mac kullanmıyorum, ancak diğerleri için yararlı olabilir. Bu komut satırında yapılabilir eğer bonus puan.


1
Aha, daha önce Windows için sorulduğunu biliyordum: "Komut satırından panoya nasıl metin yazılır?", Superuser.com/questions/97762/… Belki bunu Linux için açık bırakırmısın ?
Arjan

1
Kenar mahalle. Görünüşe göre clip.exe'yi kullanabilirim. Yine de komut satırı olmayan bir sürüm istiyorum. Belki Windows Gezgini içerik menüsü üzerinden?
Jonathon Watney

Yanıtlar:



51

xclip (muhtemelen Linux sisteminizin depolarında bulunur), çoğu Linux sürümü dahil olmak üzere herhangi bir X11 sistemi için çalışacaktır, hatta X, Windows veya Mac OSX altında çalışmaktadır.

Örnek kullanım: xclip -sel clip < ~/.ssh/id_rsa.pub


23
Örnek kullanım:xclip -sel clip < ~/.ssh/id_rsa.pub
wim


13

Linux ve aşağıdakileri destekleyen olası diğer sistemler xclip:

xclip -i -selection c file_to_copy_to_clipboard.txt

@ JustinSmith'in de bahsettiğini xclipancak bir örnek eksik olduğunu gördüm , bu yüzden kendime bakmak zorunda kaldım.

Bir başka yararlı olanı: panonuzu bir dosyaya yapıştırın.

xclip -o -selection c > file_to_paste_to.txt

Kaynak


2

"type" komutunu, dosya içeriğini metin biçiminde stdout'a (standart çıktı) aktarmak için pencerelerde "cat" ye eşdeğer olarak kullanın (bunun için kullandığınız Terminal / bilgi emülatörü) (Windows'ta CMD). Böylece komutları böyle bir şeyle birleştirebilirsiniz:

type myFile.txt > clip 

şimdi myFile.txt içeriği clipBoard arabelleğine aktarılıyor (bence linux olmadığı için sadece bir tampon. Aynı zamanda küresel bir değerdir, bu nedenle bir değer işletim sistemi genişliğinde tutulur. Yani bu "kopyala" özelliği için, şimdi "yapıştırma" için:

  • Ya da her zamanki gibi CLIP değerlerini varolan bir dosyaya eklemek istersiniz:

    clip >> target.txt yazın (veya hedef dosyanız - bu hedef dosyanın içindeki varolanı silmeden veri ekler)

  • Veya CLIP değerlerine sahip yeni bir dosya eklemek / oluşturmak istediğiniz gibi:

    clip> target.txt yazın (veya hedef dosyanız - veri ekler veya OVERWRITE bu hedef dosyanın içindeki varolanı silmek anlamına gelir)


1

Bu programı f2clip kullanın. Komut satırından çalıştırın. Dosya içeriğini panoya kopyalar. Daha fazla işlem yapmak için metin dosyalarını web tarayıcısına kopyalamak için kullanıyorum. Http://smrz.xf.cz/f2clip.exe adresinden indirin veya kendi kaynağınızdan kendiniz yazın (çirkin):

 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.

Üzgünüm.


1
+1. Xclip'in daha iyi bir çözüm olduğunu düşünmeme rağmen bu çabayı takdir ediyorum.
0xc0de
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.