sentace linuxターミナルの最初の単語の後の重複行を削除


2

テキストの行の重複を削除しようとしていましたが、この形式の最初の単語からスペースを取りました。

りんご青
りんごグリーン
リンゴは時々赤です
ペアグリーン
ペアブラック
ポテトブラウン
レモン
...

各行のスペースの後ろは無視され、重複が削除されます。

で終わるでしょう;

りんご
ペア
じゃがいも
レモン

次のようなLinuxターミナルでこれを行う方法を探していました。

コマンドfile_in.txt single_sout.txt

みんなありがとう!

回答:


2

このワンライナーをお試しください:

cut -d " " -f 1 file_in.txt | uniq > file_out.txt

最初にcut区切り文字を指定してコマンドを使用し、-d " "次に-f 1ファイルから最初のフィールドを取得しますfile_in.txt。次に、結果をuniqコマンドにパイプすると、重複がリストから削除されます。最後に、結果をにリダイレクトしfile_out.txtます。


サイズの大きなファイルギガバイトのオンこの作品は意志?,も返事に感謝
マーク

非常に大きなファイルの場合、それはそう、2つのステップでやって価値があるかもしれませんcut -d " " -f 1 file_in.txt > file_tmp.txtし、その後uniq file_tmp.txt > file_out.txt。これにより、何かが失敗した場合に問題を絞り込むことができます。cutまたはのいずれのファイルサイズの制限も知らないuniqため、実際に確認する唯一の方法はテストすることです。ただし、コマンドの実行は非破壊的であるため、コマンドを実行しても問題はありません。
アダムアダム14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.