my-notebook

Profile
著者について
スタイラスを使って 手描きでマインドマップを作成できる Galaxy Note 向けの Android アプリ MindBoard を開発しています。
広告

Saturday, November 13, 2010

標準出力をクリップボードにコピーする pbcopy , macosx,ubuntu,cygwin でそれぞれ使う

Mac OS X で Terminal を使うことが多いのだが、いつも困っていたのはテキストファイルのコピー&ペースト。
Terminal内に表示しきれるほど小さいテキストファイルは cat してから範囲選択すれば済むのだが、それより大きいテキストファイルの場合は困る。
Ubuntuなどでは、firefox foo.txt として Firefox上で全選択とかやっていたが、調べてみると pbcopy という標準出力をクリップボードにコピーするコマンドがあることが判明。

ちなみに、pbpaste というコマンドもあるので、Terminal 上でペーストしたいときにはこれを使う。 情報源 http://oshiete.goo.ne.jp/qa/3556176.html

Mac OS X (Snow Leopard)


$ cat foo.txt | pbcopy

これでクリップボード(ペーストボード)にfoo.txtの内容がコピーされる。

Ubuntu (Linux)

xsel というpbcopy と同じ働きをするツールがある。
xsel コマンドがない場合は、sudo apt-get install xsel してから


$ cat foo.txt | xsel --clipboard --input

でOK。

~/.bashrc に alias を定義しておけば、Mac OS X と同じように使える。


alias pbcopy='xsel --clipboard --input'

cygwin(Windows)では

http://d.hatena.ne.jp/edvakf/20101017/1287285851 に情報あり。

結論としては /dev/clipboard に標準出力すればいいようだ。


$ cat foo.txt | /dev/clipboard

ということは


#!/bin/bash
tee | /dev/clipboard

として、pbcopy というコマンドをつくれると思う。(未テスト)

© 2007-2014 Tomoaki Oshima