
コマンドラインから OS X クリップボードにアクセスする
pbcopy コマンドと pbpaste コマンドを使えば、コマンドラインでクリップボードの内容を操作できるだけでなく、ターミナルから直接 Mac OS X のクリップボードにアクセスすることもできます。つまり、GUI アプリでコピーした内容をコマンドラインでシームレスに使用でき、その逆も可能です。以前、コマンドラインから pbcopy コマンドと pbpaste コマンドを使用する方法について簡単に紹介しましたが、今回は、これらの非常に便利なツールを Mac で使用するための追加方法、例えばターミナルプロンプトから Mac のクリップボードに保存されている内容に直接アクセスする方法などをご紹介します。
pbpasteでOS Xクリップボードの内容にアクセスする
pbpaste – pbpasteは、クリップボードの現在アクティブな内容をダンプする方法です。クリップボードの内容を確認したい場合は、次のように入力してください。
pbpaste
OS X で Command+V を押した場合と同じように、現在クリップボードに保存されている内容が表示されます。
次のように、pbpaste を使用してクリップボードの内容をファイルに簡単に保存することもできます。
pbpaste > clipboard.txt
これで、クリップボードの内容が含まれたドキュメントclipboard.txtが作成されます。任意のテキストエディタで開くか、テキストを入力して内容をcat clipboard.txt
確認することで、内容を確認できます。
pbcopy でクリップボードにコンテンツを追加する
pbcopy – ご想像の通り、pbcopyはコマンドラインからコピーを行うためのツールです。これは基本的に、FinderやOS XのGUIでコマンド+Cを使用するのと似ています。最適な使い方は、pbcopyにパイプで渡すことです。例えば、以下のようになります。
ls -lha |pbcopy
これにより、ls -lha の結果がクリップボードにパイプされ、pbpaste コマンドを使用してアクセスできるようになります。
pbcopy を使用して OS X のクリップボードに何かをコピーしたので、pbpaste を使用して出力をターミナルにダンプすることができます。ls -lha|pbcopy コマンドを実行しただけであれば、出力は次のようになります。
ここでパイプとリダイレクトを使用してコマンド出力を pbcopy コマンドにリダイレクトすることにより、ターミナルからクリップボードを変更する方法について詳しく知ることができます。
pbcopy と pbpaste は、ssh や他のプロトコルを使用してネットワーク経由でも動作できます。次の点を確認してください。
SSHとpbpasteを使用してネットワーク経由でクリップボードの内容を貼り付ける
pbcopyとpbpasteは上記の例よりもはるかに強力です。pbpasteを使ってクリップボードの内容を別のマシンに送信する方法は次のとおりです。出力をSSH接続経由でリモートマシンのmyclipboard.txtというファイルにパイプします。
pbpaste | ssh username@host 'cat > ~/myclipboard.txt'
いいですね?