【コラム】
近所のコンビニで買い物をしていたら、なぜか雪見だいふくに目がとまった。足をレジへ運ぶと、今度はレジ横にホカホカの中華まんを発見。話は唐突に変わりますが、アップルストアのレジに使われているiMac G4、いずれiMac G5に交代するんですかね? どうなんでしょう?
さて、今回はPantherで追加されたコマンド「pbpaste」と「pbcopy」によるペーストボードの操縦方法を紹介してみよう。単独ではそれほど大した機能を持たないが、パイプ経由で他のコマンドと組み合わせれば、かなり使えるコマンドとなること請け合いだ。
OS Xでは、アプリケーション間のコピー/カット/ペーストには「ペーストボード」が利用される。サーバプロセス(/System/Library/CoreServices/pbs)はシステムのバックグラウンドで常に稼働し、このサーバと通信可能なアプリケーション間でのデータのやり取りを仲介する仕組みだ。ちなみに、ペーストボードという呼称はクラス名(NSPasteBoard)に由来するもので、クリップボードの別名と考えていい。
pbpasteとpbcopyは、ペーストボードサーバの機能を利用するためのコマンドだ。通常はオプションや引数を指定する必要はなく、コマンド名だけを入力して実行すると、pbpasteの場合はペーストボードに貯えられたデータが標準出力へと、pbcopyの場合は標準入力から取り込んだデータがペーストボードへと貯えられるので、パイプやリダイレクトを併用してデータをやり取りする。なお、スクリーンショットなど画像データ(PostScriptを除く)を扱えない点には注意が必要だ。
まずは小手調べに、簡単に試せるものを紹介してみよう。適当なアプリケーションで文字列(ASCIIキャラクタ)をコピーしたあと、タスクをTerminalに切り替えて「pbpaste | rev」と実行してほしい。すると、回文のように文字列が逆転して出力されるはずだ。
なお、OS Xに収録されているrevコマンドはマルチバイト文字に対応しないため、日本語の文章がペーストボードにある状態では文字化けを起こす。「たいやきやいた」とか「たしかにかした」といった日本語の回文は変換できないので、念のため。
Excelなどの表計算ソフトでは、セルを区切る記号として「タブ」を使うことが一般的。そのため、区切り記号がスペースの表をワークシートに貼り付けると、行全体が1つのセルとなり表の体裁が大きく崩れてしまう。
もしこのような事態に陥った場合には、慌ててデータを修正する前に、体裁が崩れてしまったワークシート上の表をコピーしてから以下のコマンドラインを実行してみよう。unexpandコマンドの働きにより連続したスペースは1つのタブに変換され、その結果はpbcopyコマンドによりペーストボードに貯えられるため、もう一度ペーストし直せば表は元通りになるはずだ。
コンピュータに慣れてくると、日付や金額だけを入れ替えて文書を再利用することが多くなる。その作業は単純だが、疲れているときに行うと、書き換えるべきデータを見落としてしまうことも。対象が請求書や見積書だったとしたら… 想像するだに恐ろしい。
そんなときには、trコマンドに文字クラスとして「digit」を指定し、数値部分を「*」などのダミーの文字に置換するといい。とりあえず以前の数値を消せるので、前述したようなミスを防ぐことができる。trコマンドでは、もっと高度な文字列の指定も可能なので、興味があれば調べてみよう。
$ pbpaste | tr [:digit:] '*' | pbcopy ←ペーストボードの内容の数値部分をすべて「*」に置き換え、ペーストボードに戻す
trコマンドで使用できる文字クラス
| alnum | 文字と数字 |
| alpha | 文字 |
| cntrl | コントロール文字 |
| digit | 数字 |
| graph | 印刷可能な文字(スペースは含まず) |
| lower | 小文字 |
| 印刷可能な文字(スペースを含む) | |
| punct | 記号 |
| space | スペース |
| upper | 大文字 |
| xdigit | 16進数の文字 |
| 【レビュー】サイズと性能のバランスが取れたホームモバイルノートPC - 日本HP「HP Pavilion dm4-3000」 [11:41 2/10] |
| 【特別企画】標準で4GHz動作! メーカー公認のCPU+GPUダブルオーバークロックマシン登場 [08:30 2/10] |
| 新世代PCを開拓する「Windows on ARM」、MSが概要を説明 [08:07 2/10] |
| iPad 3の強化点はディスプレイ・バッテリ・GPUか - 海外報道 [23:04 2/9] |
| iTunes Matchが生み出す「Magic Money」とは? [22:47 2/9] |
|
【レビュー】サイズと性能のバランスが取れたホームモバイルノートPC - 日本HP「HP Pavilion dm4-3000」 [11:41 2/10] パソコン |
|
東京スカイツリーの"もうひとつの最寄り駅"押上駅に副駅名導入 - 5/22から [11:41 2/10] ライフ |
|
東武伊勢崎線浅草・押上~東武動物公園間が「東武スカイツリーライン」に [11:35 2/10] ライフ |
|
八田亜矢子、鷲尾春果アナの結婚を祝福!「先を越されて寂しいけれど…」 [11:30 2/10] エンタメ |
|
オンキヨー、24bit/96kHzのデジタル入力にも対応するDLNAスピーカー [11:22 2/10] 家電 |