Emacsでテキストファイルを加工していると、行単位で整列(sort)したくなることが時々あります。そんなときのために、Emacsにはsortコマンドが用意されています。範囲指定してM-x sort-linesとすると整列されます。
整列すると、同内容の行は一箇所にまとまって現れます。すると往々にして、こうした重複行をひとつにまとめたくなります。Unixコマンドでいうuniqです。ところが、Emacsにはこのコマンドは用意されていません。
つい先日そういう状況があったので、ちょちょいとWeb検索してみたら、世の中よくしたもので、ちゃんとEmacs用のuniqコマンドの実装が存在するのでした。これを使えば重複行を取り除くことができます。
また、上記のEmacs Lispをインストールしなくとも、外部コマンドとしてuniqを呼び出すことで、Emacsのバッファの中に対してuniqを実行することもできます。
コメントする