Narzędzie do kopiowania i wklejania ze schowka wiersza poleceń?

127

W systemie Windows korzystałem z narzędzi do kopiowania i wklejania schowka z wiersza poleceń ...

  • pclip.exe i gclip.exe

Były to porty UnixUtils dla Windows (ale obsługiwały tylko zwykły tekst). Było kilka innych rodzimych narzędzi Windows, które mogły pisać / rozpakowywać dowolny format.

Szukałem czegoś podobnego w Menedżerze pakietów Synaptic, ale nic nie mogę znaleźć.

Czy jest tam coś, za czym tęskniłem? ... a może jest to dostępne w skryptach Bash?

Typ narzędzia, które chciałbym móc czytać / zapisywać przez std-in / std-out lub file-in / file-out i obsługiwać Unicode, Rich Text Format, obraz itp. Formaty schowka ...

NB: Nie szukam menedżera schowka.

Peter.O
źródło
Zobacz powiązane pytanie z unix.SE: unix.stackexchange.com/questions/30093/…
landroni
stackoverflow.com/questions/749544/pipe-to-from-clipboard
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
vim[enter]"+P : 3 (uruchom vim, a następnie z " rejestru - tj. Ze schowka systemowego - wklej tekst) . Następnie masz (jeden) najlepszych edytorów tekstu na wyciągnięcie ręki, więc możesz :w filename. Ponadto zawsze uruchamiam vim w tmux, co oznacza, że ​​jeśli muszę skopiować trochę tekstu do terminala, po prostu wybieram (z vlub Vdo wyboru linii), a następnie "+y(który szarpa lub kopiuje do schowka), a następnie robię nowy tmux panel i można <ctrl> + <shift> + v, aby wkleić. Dodatkowo skorzystam okazjonalnie, xsel -b > filenamejeśli będę musiał zapisać schowek do pliku. Na zdrowie ^ u ^
dylnmc

Odpowiedzi:

131

Używam Xsel Zainstaluj xsel , ale używam go tylko z tekstem zwykłym i tekstem Unicode.


xselmożna skopiować i wkleić do trzech różnych „schowków”. Domyślnie używa podstawowego wyboru systemu X Window , który jest w zasadzie tym, co aktualnie jest zaznaczone. System X Window ma również opcję dodatkową (która nie jest często używana) oraz opcję schowka . Prawdopodobnie szukasz wyboru schowka , ponieważ takie jest środowisko pulpitu (np. Gnome, KDE, XFCE) do swojego schowka. Aby użyć tego z Xsel:

xsel --clipboard < new-clipboard-contents.txt
xsel --clipboard > current-clipboard-contents.txt
Adi Roiban
źródło
1
Adi ... xsel wydaje się (?) Oparty tylko na tekście (jak wspomniałeś), więc szukam bardziej wszechstronnego narzędzia ... Jednak bardzo interesujące było dla mnie przeczytanie jego dokumentacji informacyjnej ... Wiedziałem, że kliknięcie środkowym przyciskiem myszy (w terminalu) wkleiłoby aktualnie zaznaczony tekst do wiersza poleceń, ale nie zdawałem sobie sprawy, że ta funkcja dotyczy większości aplikacji X ... Najnowszy wybór tekstu może być wklejone za pomocą środkowego kliknięcia (ale niektóre aplikacje wydają się go zastępować) .. Dwa schowki! .. Bardzo przydatne ... Muszę przeczytać więcej o 3. buforze wyboru X.
Peter.O,
Xsel działa z tekstem Unicode. Więcej informacji o schowkach X można znaleźć na stronach wiki freedesktop : freedesktop.org/wiki/Specifications/ClipboardsWiki .
Adi Roiban,
Muszę omijać te nowe informacje ... 3 schowki! PODSTAWOWY, WTÓRNY, SCHOWEK ... To bardzo różni się od tego, do czego jestem przyzwyczajony w systemie Windows ... Trzeci „SCHOWEK” wydaje się być taki sam jak schowek Windows / Mac ... ale tutaj jest absurdalnie późno .. Wrócę do tego jutro ... (Intersting, ale za dużo, by czytać teraz ..)
Peter.O
Dzięki ... xselwykonuje zadanie (dla tekstu) ... Coś może się pojawić w przypadku innych formatów.
Peter.O,
6
xsel -bjest skrótem od xsel --clipboard.
Andrei Duma,
85

xclip Zainstaluj xclip może być jednym z twoich wyborów.

cat samples.sh | xclip -sel clip

możesz także ustawić go w pliku .bashrc, używając aliasu.

alias clipboard='xclip -sel clip'

Kluczem do wklejenia danych binarnych do pliku xclipjest określenie, jakie typy multimediów masz w schowku. W przypadku PNG możesz:

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

Więc teraz ~/Dropbox/.mybashrc;) możesz dodać alias (clipboard2photo), aby łatwo wkleić go do pliku obrazu (może kiedyś będziemy go mieć na Nautilusie ).

kit.yang
źródło
Wygląda dobrze, ale po prostu nie miałem okazji się temu przyjrzeć, ale ... Zrobię to jak najszybciej ...
Peter.O,
xclip obsługuje także tylko zaznaczenia tekstu.
Steve Beattie
2
Ponadto polecenie może być tak krótkie, jakxclip -se c
Jeromy Anglim
1
Nie rozumiem, dlaczego nie ma tego na stronie
podręcznika
1
Pojawia się to podczas próby wklejenia zdjęć do pliku Błąd: obraz docelowy / png niedostępny
Emilio Nicolás
12

Parcellite

Od wielu lat używam parcitelu jako menedżera schowka. Działa w obszarze powiadomień i oferuje wiele opcji zarządzania zarówno podstawowym wyborem, jak i standardowym schowkiem freedesktop.org.

Ikona tacy

To była moja odpowiedź na zarządzanie elementami schowka.

Preferencje

Marco Ceppi
źródło
Wygląda to na dobrą aplikację panelową. „Działania” są przydatne ... ale niestety nie jest to narzędzie, którego szukam. Zmieniłem brzmienie mojego pytania, aby podać bardziej szczegółowe informacje ... Może dokładnie tym, czego szukam, jest niejasny skrypt Pythona lub coś podobnego ... Było kilka bardzo dobrych rodzimych narzędzi tylko do systemu Windows, więc sądzę, że gdzieś w Ubuntu / Świat Linuksa ...
Peter.O,
Do Twojej wiadomości, Parcellite ma fajną funkcję - historię kopiowanego tekstu. Aby aktywować automatyczne wklejanie z okna historii, powinieneś równieżinstall xdotool
Noam Manos
10

Niedawno natknąłem się na narzędziach xclip-copyfile, xclip-cutfileoraz xclip-pastefile(pakiet xclip). Te narzędzia umożliwiają kopiowanie / wycinanie / wklejanie całych plików za pomocą wiersza polecenia.

Możesz zobaczyć ich stronę man tutaj.

slm
źródło
10

clipit ( http://clipit.rspwn.com/ ) to menedżer schowka dla gtk, który umożliwia przesyłanie tekstu z wiersza poleceń:

ls | clipit;

Edycja: Obecnie na oficjalnej stronie ClipIt nie ma nic, ale można je uzyskać z GitHub

eMBee
źródło
Używam ClipIt z innych powodów i nie wiedziałem, że może pobierać dane z terminala. Wielkie dzięki za te informacje.
Juraj.Lorinc,
3

Możesz do tego użyć CopyQ . Ze strony:

Menedżer schowka z zaawansowanymi funkcjami

  • CopyQ to menedżer schowka z historią do przeszukiwania i edycji.
  • Obsługuje Linux i Windows.
  • Eksperymentalne wsparcie dla OS X 10.9+.
  • Przechowuj tekst, HTML, obrazy i każdy inny niestandardowy format.
  • Zaawansowany interfejs wiersza poleceń i skrypty.

Aby skopiować plik tekstowy:

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

Aby skopiować obraz (musisz wskazać typ MIME):

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

Aby skopiować plik danych (musisz wskazać typ MIME):

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

Sprawdź ich wiki, aby uzyskać więcej dokumentacji i przykładów użycia .

Możesz zainstalować go za pomocą ppa: noobslab / Indicator PPA lub ręcznie pobierając wstępnie spakowane.deb pliki najnowszej stabilnej wersji z sekcji Pobieranie projektu .

landroni
źródło
1
Ppa nie jest aktualne, przynajmniej dla Ubuntu 16.04, lepiej jest pobrać ją bezpośrednio z witryny GitHub wydanej przez CopyQ .
Nicolai
3

Jeśli chcesz po prostu skopiować tekst do schowka:

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

Eyal Levin
źródło
2

Ciasto

Niedawno wydano nowy menedżer schowka z obsługą apletu wskaźnika (choć jeszcze nie w archiwum). Oprócz śledzenia historii schowka tekstowego będzie również przechwytywać i utrwalać wpisy schowka danych (Pliki, Foldery itp.), Które mogą być przydatne, jeśli często manipulujesz plikami za pomocą środowiska GUI / Schowka.

alternatywny tekst

Możesz dodać następujący PPA :ppa:hel-sheep/pastie

Marco Ceppi
źródło
Dzięki za sugestię Marco, ale nie potrzebuję menedżera schowka. Czasami wklejam jakiś tymczasowy tekst do pliku tekstowego, ale faktycznie okazuje się, że „menedżer historii” spowalnia rzeczy (ale to tylko ja). Naprawdę szukam narzędzia wiersza polecenia, które może selektywnie wyodrębniać / przechowywać specyficzny Format z / na clipboad .. jestem zakładając schowka Ubuntu jest podobny do systemu Windows (ja być ogłuszone, czy to istotnie różne, bo użytkowników wymagania są takie same na każdej platformie) ... I” jestem pewien, że ktoś uzna Twoją sugestię za przydatną.
Peter.O,
1

A co z ustawieniami demona GPaste , apletem demona zarządzania schowkiem z interfejsem DBus:

  • GPaste to pakiet do zarządzania schowkami dla GNOME napisany w Vala
  • Wygląd ustawień GPaste został zaktualizowany, aby lepiej pasował do najnowszego GNOME
  • Demon jest teraz w pełni wyrównany (koniec odpytywania, mniejsze zużycie energii)
  • GPasteClipboard ma teraz sygnał „zmiany właściciela” podobny do tego z GtkClipboard
  • Nowe ustawienie, aby ustawić maksymalną ilość pamięci używanej przez dane w historii
  • Tryb FIFO został usunięty (brak projektu)
  • Czyszczenie i modernizacja kodu
  • g_paste_history_add jest teraz pełny transfer
  • g_paste_keybinder_add_keybinding jest teraz pełny

Instalacja:

Aby zainstalować go w systemie Ubuntu 13.10 , 13.04 , 12.10 lub 12.04 , użyj poniższych poleceń:

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

Lub zainstaluj gpasteprzez synaptic package manager(a także gnome-shell-extensions-gpastejeśli używasz Gnome-Shell).

Inną opcją jest instalacja przez software-center.

wprowadź opis zdjęcia tutaj

v2r
źródło
1

Próbuję opracować lepsze rozwiązanie, które nie jest menedżerem schowka, znalezione na stronie https://github.com/baitisj/copypasta . Nie obsługuje jeszcze poprawnie RTF i HTML, a duże obrazy stwarzają problemy, ale możesz rozwidlać i przesyłać łaty.

baitisj
źródło
1

W przypadku formatu RTF stosuję tę procedurę: kopiuję tekst do schowka w aplikacji. Jeśli nie jestem pewien, czy to rtf czy co, używam tego polecenia, aby sprawdzić:

xclip -selection clipboard -o -t TARGETS

Kiedy wydrukuje coś takiego:

CELE

text / rtf

text / richtext

Więc nie mogę się powstrzymać przed głośnym wykrzyknięciem: „Ojej, to genialne! Niech Bóg błogosławi linux!” Po tej modlitwie, po prostu oczywista rzecz:

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

Następnie przetwarzam to wszystko w libreoffice i wysyłam do wszystkich moich przyjaciół jako spam.

:-)

kserostomus
źródło
-1

Tak jest. Spróbuj, tmuxktóry jest bardziej zaawansowany niż screen. Aby zainstalować tmux, wpisz to w terminalu:

sudo apt-get install tmux

Spróbuj także gpm. Polecenia gpmi tmuxmogą być dobrą kombinacją ...

karthick87
źródło
2
Screen to emulator wielu terminali, a nie menedżer schowka.
Marco Ceppi
Wygląda na to, że screen i tmux działają tylko na poziomie terminala (nie mogę znaleźć żadnego odniesienia do „schowka” w żadnej z ich dokumentacji informacyjnej ) ... To, czego szukam, to ogólnosystemowe narzędzie do kopiowania i wklejania schowka ... Prawdopodobnie nie powinienem używać terminala jako znacznika ... Typ narzędzia, którego chcę, będzie w stanie czytać / zapisywać za pomocą standardowego wejścia / wyjścia standardowego lub wejściowego pliku / wyjściowego i obsługiwać Unicode / Formaty schowka tekstu sformatowanego / obrazu / itp.
Peter.O,
Właśnie znalazłem referencję na temat przepełnienia stosu ... gpmdotyczy „schowka” na terminalu innym niż X, i GNU screenma również swój „schowek”… Rozumiem teraz, dlaczego o nich wspomniałeś… To świetna informacja i doprowadziło mnie do głębszego zrozumienia tego, co dzieje się za kulisami ... Na razie będę trzymać się podstawowego „systemu selekcji” Xterm (clipboad). „Schowek” Linuksa wydaje się tak różny od Windowsa, że to, czego szukałem, może być wykonane tutaj w zupełnie inny sposób .. +1 :)
Peter.O