2008-12-09

Emacs で Uniq

Emacs でソート (sort)」の続き。並べ換え (ソート) した後のテキストを、Uniq する。Uniq といふのは、上下で同じことが書いてあったら、その行を一つ (unique) にまとめてしまう Unix コマンド。

例えば、こんなテキスト

foo
foo
bar
huga
huga
huga

を uniq コマンドにかけると、かうなる。

foo
bar
huga

重複したテキストがなくなって、見易くなった。

今の例だと uniq の使い勝手は分からないでせう。uniq が力を発揮するのは、sort コマンドと組み合わせた時。大量のテキストを並べ換えたら、同じ行が現れた、なんて時に活躍する。

Emacs でどうやる?

Emacs には sort 用のコマンドはあるけど、uniq に相当するコマンドがない。そこでどうするかといふと、uniq コマンドを Emacs の中から呼び出してしまう。手順は以下の通り。M-| (shell-command-on-region) を、数引数付きで呼び出すのがポイント。

  1. uniq をかけたいテキストを領域で囲む
  2. C-u M-| (数引数付きで shell-command-on-region を呼び出す)
  3. uniq と入力する

ちょっとしたテキスト操作のために、Emacs から抜けたり、temporary ファイルを作る必要がない。オススメ。

No comments:

Post a Comment