Ich habe ein Tool für Linux/OSX/Cygwin erstellt, das einigen dieser anderen ähnelt, aber etwas einzigartig ist. Ich nenne es cb
und es kann in diesem Github Gist gefunden werden.
In diesem Kernstück demonstriere ich das Kopieren und Einfügen über die Befehlszeile unter Linux, macOS und Cygwin.
Linux
_copy(){
cat | xclip -selection clipboard
}
_paste(){
xclip -selection clipboard -o
}
macOS
_copy(){
cat | pbcopy
}
_paste(){
pbpaste
}
Cygwin
_copy(){
cat > /dev/clipboard
}
_paste(){
cat /dev/clipboard
}
Hinweis:Ich wollte dies ursprünglich nur in meinem Kommentar zu Bob Enohps Antwort erwähnen. Aber dann wurde mir klar, dass ich meinem Kern eine README hinzufügen sollte. Da der Kerneditor keine Markdown-Vorschau anbietet, habe ich hier das Antwortfeld verwendet und nach dem Kopieren/Einfügen in meinen Kern gedacht:"Ich könnte die Antwort genauso gut einreichen." Wenn Sie Funktionalität/Fehler besprechen möchten Es wäre wahrscheinlich am besten, dies in den Kommentaren für das Wesentliche auf GitHub zu tun.
cb
Ein auslaufsicheres T-Stück für die Zwischenablage
Dieses Skript ist tee
nachempfunden (siehe man tee
).
Es ist wie Ihre normalen Befehle zum Kopieren und Einfügen, aber vereinheitlicht und in der Lage zu erkennen, wann es verkettet werden soll
Beispiele
Kopieren
$ date | cb
# clipboard contains: Tue Jan 24 23:00:00 EST 2017
Einfügen
# clipboard retained from the previous block
$ cb
Tue Jan 24 23:00:00 EST 2017
$ cb | cat
Tue Jan 24 23:00:00 EST 2017
$ cb > foo
$ cat foo
Tue Jan 24 23:00:00 EST 2017
Verkettung
$ date | cb | tee updates.log
Tue Jan 24 23:11:11 EST 2017
$ cat updates.log
Tue Jan 24 23:11:11 EST 2017
# clipboard contains: Tue Jan 24 23:11:11 EST 2017
Kopieren per Dateiumleitung
(chronologisch war es sinnvoll, dies am Ende zu demonstrieren)
# clipboard retained from the previous block
$ cb < foo
$ cb
Tue Jan 24 23:00:00 EST 2017
# note the minutes and seconds changed from 11 back to 00
Das wollte ich schon immer mal machen und habe einen schönen und einfachen Weg dafür gefunden. Ich habe das komplette Verfahren aufgeschrieben, falls jemand anderes es braucht.
Installieren Sie zuerst ein 16 KB großes Programm namens xclip
:
sudo apt-get install xclip
Sie können die Ausgabe dann an xclip
weiterleiten in die Zwischenablage kopieren:
cat file | xclip
Um den gerade kopierten Text einzufügen, verwenden Sie:
xclip -o
Um das Leben zu vereinfachen, können Sie einen Alias in Ihrer .bashrc-Datei einrichten, wie ich es getan habe:
alias "c=xclip"
alias "v=xclip -o"
Um zu sehen, wie nützlich das ist, stellen Sie sich vor, ich möchte meinen aktuellen Pfad in einem neuen Terminalfenster öffnen (möglicherweise gibt es andere Möglichkeiten, dies zu tun, wie Strg +T auf einigen Systemen, aber dies dient nur der Veranschaulichung):
Terminal 1:
pwd | c
Terminal 2:
cd `v`
Beachten Sie den ` `
etwa v
. Dies führt v
aus als Befehl und ersetzt ihn dann an Ort und Stelle für cd
zu verwenden.
Kopieren Sie den Inhalt nur auf den X
Zwischenablage
cat file | xclip
Wenn Sie an einer anderen Stelle als X
einfügen möchten Anwendung, versuchen Sie diese hier:
cat file | xclip -selection clipboard
Verwenden Sie unter OS X pbcopy
; pbpaste
geht in die entgegengesetzte Richtung.
pbcopy < .ssh/id_rsa.pub