Ubuntuで新しいファイルを作成せずに、ファイルから重複行を削除します。

Ubuntuで新しいファイルを作成せずに、ファイルから重複行を削除します。

新しいファイルを作成せずにファイルから重複エントリを削除し、ファイルの内容の順序を保存するためのコマンドが見つからないようです。

uniq他に他のコマンドはありますかawk

sedそれ以外の場合は、内部オプションが含まれていることがわかります。重複を排除する方法を知りません。

重複したサンプル.txtがあります。

1
2
1
サム
4
1

重複したサンプル.txtを削除

1
2
サム
4

ベストアンサー1

特にGNUawkと最近取得した内部編集機能を使用して

$ cat file
1
2
1
3
4
1
$ awk -i inplace '!seen[$0]++' file
$ cat file
1
2
3
4

たとえばsed -i、「内部編集」を実行するほとんどのツールと同様に、一時ファイルを使用して編集を実行します。ただし、ファイルを手動で移動する必要はありません。

また見なさい:

おすすめ記事