どのsed/awkコマンドを使用できますか?ただsort -u
はすべてのインスタンスを削除します
入力:
abc
abc
def
abc
abc
def
予想される出力:
abc
def
abc
def
それがuniq
標準コマンドの目的です。
_uniq your-file
_
GNU uniq
のような一部のuniq
実装は、行のシーケンスの最初の同じソート( バイト間で同一(ここでstrcoll()
またはmemcmp()
は0を返します)とは対照的に、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"
は、変更を保存して終了します。