edで配置されていない2つの重複行を削除する方法はありますか?

edで配置されていない2つの重複行を削除する方法はありますか?

たとえば、edで配置されていない重複行を削除する方法を探しています。

ed is a terminal editor
sam is a bitmap editor
emacs is a macro editor
ed is a terminal editor

私は次のものを作りたいと思います:

ed is a terminal editor
sam is a bitmap editor
emacs is a macro editor

答え1

これは別のケース外部ツールを呼び出して操作を実行し、ツールの出力を編集する方が簡単です。

$edファイル
95
,N
1 edは端末エディタです。
2 samはビットマップエディタです
3 emacsはマクロエディタです
4 edは端末エディタです。
e !awk '!seen[$0]++' %
awk '!seen[$0]++' ファイル
71
,N
1 edは端末エディタです。
2 samはビットマップエディタです
3 emacsはマクロエディタです

awkここで呼び出されるコマンドは、e !以前に見たことのない行を出力し、既に見た行は無視します。awkこのサイトの多くの回答で、これらの特定の使用法の例を見つけることができます(例:ここ、説明とともにここ)。

関連情報