1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
http://wakabamac.blog95.fc2.com/blog-entry-1004.html

Filter through Shell Command : 選択したテキストに各種UNIXコマンドを実行するサービス
OS10.6
フリーウェア
『10.6: Service to filter selected text using a shell command - Mac OS X Hints』経由で知った、選択しているテキストに対して各種UNIXコマンドを実行するサービス「Filter through Shell Command」の紹介です。
インストールは、ダウンロードした「Filter through Shell Command.workflow」ファイルを
/Users/登録アカウント名/Library/Services/
に保存して(フォルダが存在しない場合はこの名前のフォルダを新たに作成する)、Macを再起動します。
システム環境設定 > キーボード > キーボードショートカット > サービス
を開いて「Filter through Shell Command」にチェックします。

このサービスにホットキーを設定したいときは、リストの右の方をダブルクリックして、キーを設定します。
これで、コンテキストメニューやホットキーなどで、このサービスを使用できるようになります。
【 sort
行単位でソートして順番を変える 】
例えば テキストエディット.app で次のような文章を入力しているとして、これらの各行の単語をソートしたいときに「Filter through Shell Command」を使います。

ソートしたい行の部分を選択してコンテキストメニューから、それを実行します。
すると、UNIXのコマンドを入力するためのダイアログが表示されるので、ここにコマンドを入力して実行します。(デフォルトで最初に「
sort
」コマンドが入力された状態で開きます)
これを実行してみると、下のように1行ずつアルファベット順にソートします。

オプションの「
-f
」を付けたら、アルファベットの大文字・小文字の区別をしなくなったり、-r
」を付けて逆順にソートしたり、いろいろオプションも使えます。【 tr
文字を置換する 】
下のような文章を選択した状態で、「Filter through Shell Command」サービスを実行します。

「
tr
」コマンドを使って、tr "痴漢" "置換"
と実行してみます。
すると見事に「置換」されました。

日本語だと厳しいのか文字の「字」も、勝手に置換されてしまったけど。
まあ、この例の場合は標準の「置換機能」を使った方が、よっぽどスマートにできます。
【 sed
文字を置換する2 】
「
sed
」コマンドを使って、また文字を置換します。英語の文章を入力していて「the」を「teh」とタイプミスしてしまった多くの誤りを直します。

sed -E 's/([tT])eh/\1he/g'
とします。(Safariの場合半角の\が「\」表記になってしまうのでバックスラッシュに直して下さい)
これを実行すると、タイプミスした「Teh」or「teh」が「the」に修正されました。

他にも「
awk
」コマンドを使ったパターンなどが、作者さんのサイトで例として書かれています。僕はあまりUNIXのコマンドに詳しくなく、よくわからないのですが、わかる人にとっては便利なサービスなんじゃないかと思います。
(ダウンロードリンク)
Site top page : A Tasty Pixel
Download page : OS X service to filter selected text through a shell command
▽同じ「タグ」が付いた関連記事
返信遅くなってなってすみません。
わざわざ教えて下さってありがとうございます。
UNIXのコマンドのことはよくわからないので、助かります。
trackback URL