回答:
それがuniq
標準コマンドの目的です。
uniq your-file
いくつかのことに注意uniq
GNUのような実装がuniq
あなたのラインのシーケンスの最初与えるソート同じ(ここでstrcoll()
は対照的に戻る0)バイト対バイト同一である(ここで、memcmp()
又はstrcmp()
0を返します)。uniq
実装に関係なく、バイトごとの比較を強制するには、ロケールを次のように強制できますC
。
LC_ALL=C uniq your-file
Vimはこれをうまく実現できます。
:g/\v^(.*\n)\1/d
または、コマンドラインツールとしてvimを使用する場合は、次のように実行できます。
vim file -c "g/\v^(.*\n)\1/d" -c "wq"
この方法で、後でvimを終了する必要はありません;)
説明:
:g/
この正規表現に一致するすべての行で...
\v^(.*\n)\1
それ自体が続く任意の行...
/d
d eleteコマンドを実行します(現在の行を削除します)。-c "wq"
変更内容を保存して終了しています。