Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
199
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@arcizan

ソートしないで重複行を削除する

uniq コマンドは事前にデータをソートしておく必要がありますが、ソートされていないデータから重複する行を削除したいこともありますよね。そんなときは

awk '!a[$0]++' FILE

これだけです。

解説

  • a は連想配列の変数で名前は何でもいいです
  • $0 には行全体が格納されています
  • つまり各行をキーとする連想配列を作成し、同じ行が現れるたびに値をインクリメントします
  • ! により値が 0 のとき、つまり最初にその行が現れたときだけ条件が真になります
  • アクション部分は省略されているので行全体が表示されます
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
199
Help us understand the problem. What are the problem?