ฉันจะโหลดเนื้อหาของไฟล์ลงในคลิปบอร์ดได้อย่างไร?


81

ฉันมีไฟล์ที่ฉันต้องการคัดลอกเนื้อหาไปยังไฟล์อื่นหรือไปยังแอปพลิเคชันและแทนที่จะเปิดขึ้นให้เลือกข้อความทั้งหมดจากนั้นคัดลอกและวางฉันต้องการทราบว่าฉันสามารถcatใช้ไฟล์เนื้อหาในคลิปบอร์ดได้อย่างมีประสิทธิภาพหรือไม่ เป็นไปได้ไหม

โปรแกรม Windows จะใช้ได้ แต่สิ่งที่ทำงานบน Linux ก็มีประโยชน์เช่นกัน ฉันไม่ได้ใช้ Mac แต่อาจเป็นประโยชน์กับผู้อื่น คะแนนโบนัสหากสามารถทำได้ในบรรทัดคำสั่ง


1
Aha ฉันรู้ว่ามันถูกถามมาก่อนสำหรับ Windows: "วิธีไพพ์ข้อความจากบรรทัดคำสั่งไปยังคลิปบอร์ด" ที่superuser.com/questions/97762/ ......อาจปล่อยให้ Linux เปิดอยู่หรือ
Arjan

1
ชานเมือง ดูเหมือนว่าฉันสามารถใช้ clip.exe สำหรับสิ่งนี้ จะยังคงต้องการรุ่นที่ไม่ใช่บรรทัดคำสั่งแม้ว่า อาจจะผ่านทางเมนูบริบทของ Windows Explorer
Jonathon Watney

คำตอบ:


62

เนื่องจากคุณไม่ได้ถามเกี่ยวกับ Mac: cat file | pbcopy(และเช่นเดียวกันpbpaste) สำหรับสิ่งเหล่านั้น


ยี้ ฉันไม่ได้ใช้ Mac จะเก็บไว้เพื่ออ้างอิงในอนาคต ;)
Jonathon Watney

มันทำงานใน Mac ด้วย;)
HMagdy

51

xclip (อาจมีใน repos ของระบบ Linux ของคุณ) จะใช้ได้กับระบบ X11 ใด ๆ รวมถึงเวอร์ชัน Linux ส่วนใหญ่หรือแม้แต่ X ที่ทำงานภายใต้ windows หรือ Mac OSX

ตัวอย่างการใช้งาน: xclip -sel clip < ~/.ssh/id_rsa.pub


23
ตัวอย่างการใช้งาน:xclip -sel clip < ~/.ssh/id_rsa.pub
wim


13

บน Linux และระบบอื่น ๆ ที่เป็นไปได้ซึ่งรองรับxclip:

xclip -i -selection c file_to_copy_to_clipboard.txt

ฉันเห็น @JustinSmith ยังพูดถึงxclipแต่ก็ไม่มีตัวอย่างดังนั้นต้องค้นหาด้วยตัวเอง

อีกอันหนึ่งที่มีประโยชน์: วางคลิปบอร์ดของคุณไปยังไฟล์

xclip -o -selection c > file_to_paste_to.txt

แหล่ง


2

ใช้คำสั่ง "type" เป็นเทียบเท่ากับ "cat" ใน windows เพื่อไพพ์เนื้อหาของไฟล์ในรูปแบบข้อความเป็น stdout (เอาต์พุตมาตรฐาน) สำหรับนั่นคือเทอร์มินัล / โปรแกรมจำลองพร้อมท์ที่คุณใช้ (CMD ใน windows) ดังนั้นคุณสามารถรวมคำสั่งเป็นสิ่งนี้:

type myFile.txt > clip 

ตอนนี้เนื้อหาของ myFile.txt ถูกถ่ายโอนไปยังบัฟเฟอร์ clipBoard (ฉันคิดว่ามันเป็นเพียงบัฟเฟอร์เนื่องจากไม่ใช่ลินุกซ์) นอกจากนี้ยังเป็นมูลค่าทั่วโลกดังนั้นจึงมีค่าหนึ่งค่าในเวลาหนึ่งของระบบปฏิบัติการ ดังนั้นสำหรับคุณสมบัติ "คัดลอก" ตอนนี้สำหรับ "วาง":

  • คุณอาจต้องการผนวกค่าของ CLIP เข้ากับไฟล์ที่มีอยู่เช่นเดิม:

    type clip >> target.txt (หรือไฟล์เป้าหมายของคุณ - จะเพิ่มข้อมูลโดยไม่ลบไฟล์ที่มีอยู่ในไฟล์เป้าหมายนั้น)

  • หรือคุณต้องการเพิ่ม / สร้างไฟล์ใหม่ด้วยค่าของ CLIP เช่น:

    พิมพ์ clip> target.txt (หรือไฟล์เป้าหมายของคุณ - จะเพิ่มข้อมูลหรือ OVERWRITE หมายถึงการลบไฟล์ที่มีอยู่ในไฟล์เป้าหมายนั้น)


1

ใช้โปรแกรมนี้ f2clip เรียกใช้จากบรรทัดคำสั่ง มันคัดลอกเนื้อหาไฟล์ลงในคลิปบอร์ด ฉันใช้เพื่อคัดลอกไฟล์ข้อความไปยังเว็บเบราว์เซอร์เพื่อการประมวลผลเพิ่มเติม ดาวน์โหลดได้จากhttp://smrz.xf.cz/f2clip.exe หรือเขียนของคุณเองจากแหล่งนี้ (มันน่าเกลียด):

 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.

ขอโทษ


1
+1 ฉันขอขอบคุณความพยายามนี้แม้ว่าฉันคิดว่า xclip เป็นทางออกที่ดีกว่า
0xc0de
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.