雑文発散

«前の日記(2014-08-04) 最新 次の日記(2014-08-06)» 編集
過去の日記

2014-08-05 [長年日記]

[Emacs] Emacs 24.4 の新機能・重複行を削除する delete-duplicate-lines

昨日と同じくテキスト編集系の新機能の中から、今日は新しいコマンド delete-duplicate-lines を調べる。

まぁ、これはヒトコト「重複行を削除する」で言い表せるようだ。例えば次のようなテキストがあったとする。aaa が2行あり、重複している。

aaa
aaa
bbb
ccc

これを範囲選択し、M-x delete-duplicate-lines を実行すると、次のようになる。

aaa
bbb
ccc

重複していた aaa がひとつに集約されている。要するに uniq コマンドと同じような動作を Emacs 内で行なってしまおうというものらしい。

ただ、それだけだと面白くなかったのか、このコマンドは「ソート結果じゃなくても uniq できる」のがウリのひとつのようだ。

つまり、このように重複した行が連続していなくとも、うまく見つけて、削除してくれる。

aaa
bbb
ccc
aaa

上記の状態で、M-x delete-duplicate-lines を実行するとこうなる。

aaa
bbb
ccc

期待通り。

まぁ、もっと大量のテキストがある場合は、sort TEXT | uniq を使って重複行を削除したほうが良いのではないかと思うけど、ちょっとしたテキストを操作する場合にはこっちを使うのも良いかもなぁという感じ。

普段多用はしないと思うけど、存在は覚えておこうっと。