cygwin polecenie, aby skopiować do schowka systemu Windows

83

Widzę tutaj:

http://www.pgrs.net/2008/1/11/command-line-clipboard-access

że w Linuksie i Osx istnieje sposób na skopiowanie do schowka z wiersza poleceń. Więc uruchomiłem mój cygwin setup.exe, ale nie mogłem znaleźć pakietu xsel. Zgaduję, że może ten pakiet nie został przeniesiony do systemu Windows? Wygląda na to, że w systemie Windows jest narzędzie do zrobienia tego:

http://www.labnol.org/software/tutorials/copy-dos-command-line-output-clipboard-clip-exe/2506/

Chyba spróbuję - ale w międzyczasie pomyślałem, że zapytam, czy ktoś znalazł dobre rozwiązanie.

andersonbd1
źródło

Odpowiedzi:

67

Na podlinkowanej stronie znajdują się komentarze podpowiadające, jak to zrobić w systemie Windows:

W systemie Windows Cygwin zawiera getclip i putclip, które wykonują to samo zadanie.

Andre Miller
źródło
16
Jeśli nie masz tych dostępnych, musisz zainstalować cygutils-extrapakiet ( src ). Co ciekawe Babun domyślnie pomija ten pakiet.
chrnola
160

Cygwin zawiera specjalny plik urządzenia o nazwie /dev/clipboard:

echo foobar > /dev/clipboard  # Puts "foobar\n" on the clipboard
cat /dev/clipboard  # Pastes clipboard to stdout
Adam Rosenfield
źródło
3
to również działa, ale myślę, że nie mogę zaakceptować 2 różnych odpowiedzi
andersonbd1
5
Jest to lepsze niż getclip / putclip, ponieważ nie wymaga instalacji pakietu.
Stabledog
8
Zaletą getclip / putclip nad / dev / clipboard jest to, że te pierwsze mają opcje konwersji między końcówkami linii unix i dos.
esquifit
8
Zaletą / dev / clipboard jest to, że obsługuje UTF8, podczas gdy getclip / putclip nie.
Maximilian Hils
2
Łatwo jest tworzyć elementy putclipzawierające cat - >/dev/clipboardi getclipzawierające cat /dev/clipboardaliasy, funkcje lub skrypty, w zależności od tego, co Ci się podoba. Oczywiście możesz użyć dowolnej pary nazw skryptów. Na przykład komputery Mac mają pbcopyi pbpasteumieszczają i pobierają informacje z tablicy (schowka).
Jonathan Leffler
28

Druga odpowiedź powyżej

Aby umieścić tekst w schowku systemu Windows

putclip < foo.txt

Aby przesłać do pliku dowolny tekst znajdujący się w schowku systemu Windows

getclip > foo.txt

źródło
@Adrian Dzięki, że zauważyłeś moje bezużyteczne wykorzystanie kota. Mam tendencję do nadużywania kota zamiast tylko rur. Zaktualizowałem odpowiedź.
25

getclip / putclip znajduje się w pakiecie cygutils-extra.

yskkin
źródło
12

co po prostu

clip < file.extension

właśnie próbowałem użyć mojego klucza SSH

Benjamin Sweetnam
źródło
1
clip.exezostał wprowadzony w systemie Windows Vista, więc tak, możesz go również używać, ale opcje są ograniczone.
RobSiklos
2

Niezupełnie Ditto, ale tutaj jest rejestrator clibboard.

#!/usr/bin/ksh
while true
do
    if [[ "$(</dev/clipboard)" = "${LastClip}" ]]
    then
            sleep 2
    else
            LastClip="$(</dev/clipboard)"
            echo "$(</dev/clipboard)" >> $HOME/cliplog.txt
            sleep 1
    fi
done
Charles Stepp
źródło