Vytvořil jsem nástroj pro Linux/OSX/Cygwin, který je podobný některým z těchto dalších, ale mírně jedinečný. Říkám tomu cb
a lze jej nalézt v tomto githubu.
V této podstatě demonstruji, jak provádět kopírování a vkládání pomocí příkazového řádku pomocí Linuxu, macOS a 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
}
Poznámka:Původně jsem to chtěl zmínit ve svém komentáři k odpovědi Boba Enohpa. Ale pak jsem si uvědomil, že bych měl ke své podstatě přidat README. Vzhledem k tomu, že hlavní editor nenabízí náhled Markdown, použil jsem zde pole odpovědí a po jeho zkopírování/vložení do své podstaty jsem si pomyslel:"Mohl bych také odeslat odpověď." Pokud chcete prodiskutovat funkce/chyby pravděpodobně by bylo nejlepší to udělat v komentářích k podstatě na githubu.
cb
Nepropustné tričko do schránky
Tento skript je modelován po tee
(viz man tee
).
Je to jako normální příkazy pro kopírování a vkládání, ale sjednocené a schopné rozpoznat, kdy chcete, aby bylo možné je zřetězit
Příklady
Kopírovat
$ date | cb
# clipboard contains: Tue Jan 24 23:00:00 EST 2017
Vložit
# 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
Řetězení
$ 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
Kopírovat pomocí přesměrování souboru
(chronologicky to dávalo smysl ukázat na konci)
# 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
Vždycky jsem to chtěl dělat a našel jsem pěkný a snadný způsob, jak to udělat. Zapsal jsem si celý postup pro případ, že by to někdo potřeboval.
Nejprve nainstalujte 16 kB program s názvem xclip
:
sudo apt-get install xclip
Výstup pak můžete pomocí kanálu xclip
ke zkopírování do schránky:
cat file | xclip
Pro vložení textu, který jste právě zkopírovali, použijte:
xclip -o
Pro zjednodušení života můžete v souboru .bashrc nastavit alias jako já:
alias "c=xclip"
alias "v=xclip -o"
Abyste viděli, jak je to užitečné, představte si, že chci otevřít svou aktuální cestu v novém okně terminálu (mohou existovat i jiné způsoby, jak to udělat, například Ctrl +T na některých systémech, ale to je pouze pro ilustrační účely):
Terminal 1:
pwd | c
Terminal 2:
cd `v`
Všimněte si ` `
kolem v
. Tím se spustí v
nejprve jako příkaz a poté jej na místě nahradí za cd
použít.
Obsah zkopírujte pouze do X
schránka
cat file | xclip
Pokud chcete vložit jinam než X
aplikaci, zkuste tuto:
cat file | xclip -selection clipboard
V OS X použijte pbcopy
; pbpaste
jde opačným směrem.
pbcopy < .ssh/id_rsa.pub