ソートしないで重複行を削除する
534 ワード
uniq コマンドは事前にデータをソートしておく必要がありますが、ソートされていないデータから重複する行を削除したいこともありますよね。そんなときは
awk '!a[$0]++' FILE
これだけです。
解説
- a は連想配列の変数で名前は何でもいいです
- $0 には行全体が格納されています
- つまり各行をキーとする連想配列を作成し、同じ行が現れるたびに値をインクリメントします
- ! により値が 0 のとき、つまり最初にその行が現れたときだけ条件が真になります
- アクション部分は省略されているので行全体が表示されます
Author And Source
この問題について(ソートしないで重複行を削除する), 我々は、より多くの情報をここで見つけました https://qiita.com/arcizan/items/9cf19cd982fa65f87546著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .