คัดลอกคลิปบอร์ดบรรทัดคำสั่งและวางยูทิลิตี้?


127

ใน Windows ฉันใช้ยูทิลิตี้คัดลอกและวางคลิปบอร์ดบรรทัดคำสั่ง ...

  • pclip.exe และ gclip.exe

เหล่านี้คือพอร์ต UnixUtils สำหรับ Windows (แต่จะจัดการกับข้อความธรรมดาเท่านั้น) มียูทิลิตี้ Windows ดั้งเดิมอื่นอีกสองสามตัวที่สามารถเขียน / แยกรูปแบบใดก็ได้

ฉันค้นหาสิ่งที่คล้ายกันใน Synaptic Package Manager แต่ไม่พบอะไรเลย

มีอะไรที่ฉันคิดถึงบ้างไหม? ... หรืออาจจะมีให้ใน Bash scripting?

ประเภทของยูทิลิตี้ที่ฉันต้องการจะสามารถอ่าน / เขียนผ่าน std-in / std-out หรือ file-in / file-out และจัดการ Unicode, Rich Text Format, รูปภาพและรูปแบบคลิปบอร์ด ...

NB: ฉันไม่ได้หลังจากผู้จัดการคลิปบอร์ด


ดูคำถามที่เกี่ยวข้องจาก unix.SE: unix.stackexchange.com/questions/30093/…
landroni


vim[enter]"+P : 3 (ทำงานเป็นกลุ่มและจาก" การลงทะเบียน - คือคลิปบอร์ดระบบ - วางข้อความ) แล้วคุณมี (หนึ่ง) แก้ไขข้อความที่ดีที่สุด (s) :w filenameที่ปลายนิ้วของคุณเพื่อให้คุณสามารถ นอกจากนี้ฉันมักจะเรียกใช้เป็นกลุ่มในtmuxซึ่งหมายความว่าถ้าฉันต้องการคัดลอกข้อความเล็ก ๆ ไปยังเทอร์มินัลฉันแค่เลือก (ด้วยvหรือVสำหรับการเลือกบรรทัด) แล้วจากนั้น"+y(ซึ่ง yanks หรือคัดลอกไปยังคลิปบอร์ด) บานหน้าต่าง tmux และสามารถ <ctrl> + <shift> + v เพื่อวาง นอกจากนี้ฉันจะใช้เป็นครั้งคราวxsel -b > filenameหากฉันต้องการเขียนคลิปบอร์ดไปยังไฟล์ ไชโย^ u ^
dylnmc

คำตอบ:


131

ฉันใช้xsel ติดตั้ง xselแต่ฉันใช้เฉพาะกับข้อความธรรมดาและข้อความ Unicode เท่านั้น


xselสามารถคัดลอกและวาง "คลิปบอร์ด" ที่แตกต่างกันสามแบบ โดยค่าเริ่มต้นจะใช้การเลือกหลักของ X Window Systemซึ่งโดยทั่วไปแล้วสิ่งที่อยู่ในการเลือก ระบบวินโดว์นอกจากนี้ยังมีตัวเลือกรอง (ซึ่งไม่ได้ใช้มาก) และเลือกคลิปบอร์ด คุณอาจกำลังมองหาตัวเลือกคลิปบอร์ดเนื่องจากเป็นสิ่งที่สภาพแวดล้อมเดสก์ทอป (เช่น Gnome, KDE, XFCE) ใช้สำหรับคลิปบอร์ด วิธีใช้กับ xsel:

xsel --clipboard < new-clipboard-contents.txt
xsel --clipboard > current-clipboard-contents.txt

1
Adi ... xselดูเหมือนว่า (?) เป็นเพียงข้อความตาม (คุณพูดถึง) ดังนั้นฉันจะมองหาโปรแกรมอรรถประโยชน์ที่ครอบคลุมมากขึ้น ... อย่างไรก็ตามมันน่าสนใจมากสำหรับฉันที่จะอ่านเอกสารข้อมูล ... ฉันรู้ว่าการคลิกเมาส์กลาง (ในเทอร์มินัล) จะวางข้อความที่เลือกในปัจจุบันลงในบรรทัดคำสั่ง แต่ฉันไม่ทราบว่าคุณลักษณะนี้ใช้กับแอป X ส่วนใหญ่ ... การเลือกข้อความล่าสุดอาจเป็น วางผ่านการคลิกกลาง (แต่แอพบางตัวดูเหมือนจะแทนที่) .. คลิปบอร์ดสองอัน! .. มีประโยชน์มาก .. . ฉันต้องอ่านเพิ่มเติมเกี่ยวกับบัฟเฟอร์ตัวเลือก X ตัวที่ 3
Peter.O

xsel ทำงานกับข้อความ Unicode คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ X clipboards บนหน้าวิกิพีเดีย freedesktop: freedesktop.org/wiki/Specifications/ClipboardsWiki
Adi Roiban

ฉันต้องเข้าใจข้อมูลใหม่นี้ .. คลิปบอร์ด 3 คลิป! ปรมาจารย์มัธยมวินาทีคลิปบอร์ด ... นี่แตกต่างอย่างมากกับสิ่งที่ฉันคุ้นเคยกับใน windows ... "CLIPBOARD" อันที่สามดูเหมือนจะเหมือนกับคลิปบอร์ด Windows / Mac ... แต่มันก็สายอย่างน่าขัน .. ฉันจะได้รับกลับไปในวันพรุ่งนี้นี้ ... (Inersting แต่มากเกินไปที่จะอ่านในขณะนี้ .. )
Peter.O

ขอบคุณ ... xselทำหน้าที่ (สำหรับข้อความ) ... บางอย่างอาจปรากฏขึ้นสำหรับรูปแบบอื่น
Peter.O

6
xsel -bxsel --clipboardสั้นสำหรับ
Andrei Duma

85

xclip ติดตั้ง xclipอาจเป็นหนึ่งในตัวเลือกของคุณ

cat samples.sh | xclip -sel clip

คุณยังสามารถตั้งค่าในไฟล์. bashrc โดยใช้นามแฝง

alias clipboard='xclip -sel clip'

กุญแจสำคัญในการวางข้อมูลไบนารีไปยังไฟล์ด้วยxclipคือการบอกประเภทสื่อที่คุณมีในคลิปบอร์ด สำหรับ PNG คุณสามารถ:

xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"

ดังนั้นในตอนนี้~/Dropbox/.mybashrc;) คุณสามารถเพิ่มนามแฝง (คลิปบอร์ด 2 รูปถ่าย) เพื่อวางไฟล์ภาพได้อย่างง่ายดาย (บางทีสักวันหนึ่งเราจะใส่ไว้ใน Nautilus )


สิ่งนี้ดูดี แต่ฉันไม่ได้มีโอกาสได้ตรวจสอบ แต่ฉันจะทำอย่างนั้นโดยเร็ว ...
Peter.O

xclip ยังรองรับเฉพาะการเลือกข้อความ
Steve Beattie

2
นอกจากนี้คำสั่งอาจสั้นเท่ากับxclip -se c
Jeromy Anglim

1
ฉันไม่เข้าใจว่าทำไมสิ่งนี้ไม่อยู่ในหน้าคน
Sergiy Kolodyazhnyy

1
ฉันได้รับสิ่งนี้เมื่อพยายามวางภาพไปยังไฟล์ข้อผิดพลาด: ไม่มีภาพเป้าหมาย / png
Emilio Nicolás

12

Parcellite

ฉันใช้ parcellite มานานหลายปีในฐานะผู้จัดการคลิปบอร์ด มันทำงานในพื้นที่แจ้งเตือนและมีตัวเลือกมากมายสำหรับการจัดการทั้งการเลือกหลักและคลิปบอร์ด freedesktop.org มาตรฐาน

ไอคอนถาด

เป็นคำตอบของฉันในการจัดการรายการคลิปบอร์ด

การตั้งค่า


ดูเหมือนว่าแอพแผงควบคุมที่ดี .. "การกระทำ" นั้นมีประโยชน์ ... แต่น่าเสียดายที่ไม่ใช่เครื่องมือประเภทที่ฉันกำลังหา .. ฉันถามคำถามของฉันอีกครั้งเพื่อรวมข้อมูลที่เฉพาะเจาะจงเพิ่มเติม ... บางทีสิ่งที่แน่นอนที่ฉันตามมาก็คือสคริปต์ Python ที่คลุมเครือหรือสิ่งที่คล้ายกัน ... มีบางโปรแกรมอรรถประโยชน์ Windows- nativeที่ดีมากๆ เท่านั้นที่มีอยู่ดังนั้นฉันคิดว่าสิ่งที่เทียบเท่าจะลอยอยู่รอบ ๆ บางแห่งใน Ubuntu / โลกของ Linux ...
Peter.O

FYI, Parcellite มีคุณสมบัติที่ยอดเยี่ยม - ประวัติของข้อความที่คัดลอก หากต้องการเปิดใช้งานการวางอัตโนมัติจากกล่องโต้ตอบประวัติคุณควรinstall xdotool
Noam Manos

10

ฉันเพิ่งมาข้ามเครื่องมือxclip-copyfile, xclip-cutfileและxclip-pastefile(แพคเกจxclip) เครื่องมือเหล่านี้ช่วยให้คุณสามารถคัดลอก / ตัด / วางไฟล์ทั้งหมดผ่านทางบรรทัดคำสั่ง

คุณสามารถดูหน้าคนของพวกเขาที่นี่


10

clipit ( http://clipit.rspwn.com/ ) เป็นผู้จัดการคลิปบอร์ดสำหรับ gtk ที่อนุญาตให้วางข้อความจาก commandline:

ls | clipit;

แก้ไข: ปัจจุบันไม่มีอะไรในเว็บไซต์ทางการของ ClipIt แต่คุณสามารถรับได้จากGitHub


ฉันใช้ ClipIt ด้วยเหตุผลอื่นและไม่รู้ว่าสามารถรับข้อมูลจากเทอร์มินัลได้ ขอบคุณมากสำหรับข้อมูลนั้น
Juraj.Lorinc

3

คุณสามารถใช้CopyQสำหรับสิ่งนี้ จากเว็บไซต์:

ผู้จัดการคลิปบอร์ดพร้อมคุณสมบัติขั้นสูง

  • CopyQ เป็นผู้จัดการคลิปบอร์ดที่มีประวัติค้นหาและแก้ไขได้
  • รองรับ Linux และ Windows
  • การสนับสนุนการทดลองสำหรับ OS X 10.9+
  • จัดเก็บข้อความ, HTML, รูปภาพและรูปแบบที่กำหนดเองอื่น ๆ
  • อินเตอร์เฟสบรรทัดคำสั่งและการสคริปต์ขั้นสูง

ในการคัดลอกไฟล์ข้อความ:

copyq action "cat /tmp/file.txt" "" && copyq select 0

ในการคัดลอกภาพ (คุณต้องระบุประเภท MIME):

copyq write image/png - < file.png && copyq select 0

ในการคัดลอกไฟล์ข้อมูล (คุณต้องระบุประเภท MIME):

copyq write application/pdf - < file.pdf && copyq select 0

ตรวจสอบวิกิของพวกเขาสำหรับตัวอย่างเอกสารและการใช้งานเพิ่มเติม

คุณสามารถติดตั้งได้ทั้งผ่านทางppa: noobslab / หุ้น PPA หรือโดยการดาวน์โหลดด้วยตนเอง prepackaged .debไฟล์เสถียรล่าสุดจากโครงการส่วนดาวน์โหลด


1
ppa ไม่ทันสมัยอย่างน้อยสำหรับ Ubuntu 16.04 จะดีกว่าถ้าดาวน์โหลดจากเว็บไซต์ GitHub ของ CopyQโดยตรง
Nicolai

3

หากคุณต้องการคัดลอกข้อความไปยังคลิปบอร์ด:

echo -n "some-text" | xclip -selection clipboard


2

pastie

ผู้จัดการคลิปบอร์ดใหม่ที่สนับสนุนตัวบ่งชี้ Applet เปิดตัวเมื่อเร็ว ๆ นี้ (แม้ว่าจะยังไม่ได้อยู่ในไฟล์เก็บถาวร) นอกจากการติดตามประวัติคลิปบอร์ดข้อความแล้วมันยังจะทำการจับและคงรายการคลิปบอร์ดข้อมูลเช่นกัน (ไฟล์, โฟลเดอร์, ฯลฯ ) ซึ่งอาจมีประโยชน์หากคุณจัดการไฟล์จำนวนมากผ่านสภาพแวดล้อม GUI / คลิปบอร์ด

ข้อความแสดงแทน

คุณสามารถเพิ่ม PPA ต่อไปนี้ :ppa:hel-sheep/pastie


ขอบคุณสำหรับคำแนะนำของมาร์โก แต่ฉันไม่จำเป็นต้องมีผู้จัดการคลิปบอร์ด บางครั้งผมจะวางข้อความชั่วคราวบางส่วนลงในแฟ้มข้อความ แต่ที่จริงผมพบว่า "ผู้จัดการประวัติศาสตร์" ช้าลงสิ่ง ( แต่นั่นเป็นเพียงฉัน) .. ฉันจริงๆหลังจากเครื่องมือบรรทัดคำสั่งที่สามารถคัดเลือกสารสกัด / ร้านเฉพาะรูปแบบจาก / ไปยัง clipboad .. ที่ฉันสมมติคลิปบอร์ดอูบุนตูมีความคล้ายคลึงกับหนึ่งใน Windows (ฉันจะตะลึงถ้ามันแตกต่างกันอย่างมีนัยสำคัญเนื่องจากผู้ใช้ความต้องการเหมือนกันบนแพลตฟอร์มใด ๆ ) ... ฉันมา ฉันแน่ใจว่ามีคนแนะนำข้อเสนอแนะของคุณ
Peter.O

1

ฉันคิดว่าเครื่องมือต่อไปนี้จะตอบสนองความต้องการของคุณ:

ตัดและวางไฟล์ในเทอร์มินัล


ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
guntbert

1

วิธีการเกี่ยวกับการตั้งค่า GPaste daemon , daemon จัดการคลิปบอร์ดที่มีอินเตอร์เฟซ DBus:

  • GPaste เป็นชุดการจัดการคลิปบอร์ดสำหรับ GNOME ที่เขียนใน Vala
  • รูปลักษณ์การตั้งค่า GPaste ได้รับการปรับปรุงให้เหมาะสมกับ GNOME ล่าสุด
  • ตอนนี้ภูตเต็มความสมดุล (ไม่มีการสำรวจมากขึ้นการใช้พลังงานน้อยลง)
  • ตอนนี้ GPasteClipboard มีสัญญาณ“ เปลี่ยนเจ้าของ” คล้ายกับ GtkClipboard
  • การตั้งค่าใหม่เพื่อกำหนดจำนวนหน่วยความจำสูงสุดที่ใช้โดยข้อมูลในประวัติ
  • โหมด FIFO ถูกดร็อป (ขาดการออกแบบ)
  • การล้างรหัสและความทันสมัย
  • g_paste_history_add โอนเต็มแล้ว
  • g_paste_keybinder_add_keybinding การโอนเต็มแล้ว

การติดตั้ง:

หากต้องการติดตั้งในUbuntu 13.10 , 13.04 , 12.10หรือ12.04ให้ใช้คำสั่งด้านล่าง:

sudo add-apt-repository ppa:webupd8team/gnome3
sudo apt-get update
sudo apt-get install gnome-shell-extensions-gpaste

หรือติดตั้งgpasteผ่านsynaptic package manager(และgnome-shell-extensions-gpasteถ้าคุณใช้ Gnome-Shell)

อีกsoftware-centerตัวเลือกที่ติดตั้งผ่าน

ป้อนคำอธิบายรูปภาพที่นี่


1

ฉันพยายามที่จะพัฒนาเป็นทางออกที่ดีที่ไม่ได้เป็นผู้จัดการคลิปบอร์ดพบที่https://github.com/baitisj/copypasta มันยังไม่สามารถจัดการ RTF และ HTML ได้อย่างถูกต้องและภาพขนาดใหญ่ก่อให้เกิดปัญหา แต่คุณสามารถแยกและส่งแพตช์ได้


1

สำหรับรูปแบบ RTF ฉันใช้ขั้นตอนนี้: ฉันคัดลอกข้อความไปยังคลิปบอร์ดในแอปพลิเคชัน หากฉันไม่แน่ใจว่าเป็น rtf หรืออะไรฉันใช้คำสั่งนี้เพื่อตรวจสอบ:

xclip -selection clipboard -o -t TARGETS

เมื่อมันพิมพ์ออกมาแบบนี้:

เป้าหมาย

ข้อความ / RTF

ข้อความ / Richtext

ดังนั้นฉันไม่สามารถต่อต้านการอุทานออกมาดัง ๆ : "Gee นั่นมันช่างฉลาดจริงๆ! พระเจ้าอวยพร linux!" หลังจากคำอธิษฐานยิงนั้นสิ่งที่ชัดเจนมีดังนี้:

xclip  -selection clipboard -o -t text/rtf > mypreciousRTFcontent.rtf

จากนั้นฉันจะประมวลผลทั้งหมดใน libreoffice และส่งให้เพื่อนของฉันทั้งหมดเป็นสแปม

:-)


-1

ใช่แล้ว ลองใช้tmuxขั้นสูงมากกว่าscreenนี้ หากต้องการติดตั้ง tmux ให้พิมพ์สิ่งนี้ในเทอร์มินัล:

sudo apt-get install tmux

ลองดูgpmสิ คำสั่งgpmและtmuxอาจเป็นการผสมผสานที่ดี ...


2
หน้าจอเป็นโปรแกรมจำลองหลายเทอร์มินัลไม่ใช่ผู้จัดการคลิปบอร์ด
Marco Ceppi

ดูเหมือนว่าหน้าจอและtmuxจะทำงานที่ระดับเทอร์มินัลเท่านั้น (ฉันไม่พบการอ้างอิงถึง"คลิปบอร์ด"ในเอกสารข้อมูลของทั้งคู่) ... สิ่งที่ฉันกำลังมองหาคือ ยูทิลิตี้คลิปบอร์ดคัดลอกและวางยูทิลิตี้ ... ฉันอาจไม่ได้ใช้เทอร์มินัลเป็นแท็ก ... ประเภทของยูทิลิตี้ที่ฉันต้องการจะสามารถอ่าน / เขียนผ่าน std-in / std-out หรือ file-in / file-out และจัดการ Unicode / รูปแบบคลิปบอร์ด Rich-text / Picture / etc ...
Peter.O

ฉันเพิ่งค้นพบการอ้างอิงในstackoverflow ... gpmสำหรับเทอร์มินัล "คลิปบอร์ด" ที่ไม่ใช่ X และGNU screenมี "คลิปบอร์ด" ของตัวเองเช่นกัน ... ฉันเห็นตอนนี้ทำไมคุณพูดถึงพวกเขา ... นี่เป็นข้อมูลที่ดีมากและ มันทำให้ฉันเข้าใจอย่างลึกซึ้งยิ่งขึ้นว่าเกิดอะไรขึ้นเบื้องหลัง ... ฉันจะใช้ Xterm "selections system" (clipboad) พื้นฐานในตอนนี้ .. "คลิปบอร์ด" ของ Linux ดูเหมือนจะแตกต่างจาก Windows ว่าสิ่งที่ผมกำลังมองหาอาจจะทำในลักษณะที่แตกต่างกันมากนี่ .. +1 :)
Peter.O
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.