LoginSignup
1
2

More than 5 years have passed since last update.

uniqコマンドを使うときに気をつけること

Last updated at Posted at 2016-04-04

uniqコマンドを2バイトコードに対して使うときには気をつけよう

問題

BOWを作成するのに,sortやuniq,nlコマンドを使ってぱぱーっとやってしまうことが多々
その際,丸囲み文字など一部の(異なる)文字が同じものとして扱われ,削除されてしまうことがある

解法

LC_COLLATE=C を設定する

これだとダメ
% cat tmp | tr " " "\n" | sort | uniq

こうする
% cat tmp | tr " " "\n" | sort | LC_COLLATE=C uniq

おまけ?

ファイルtmpは半角スペースで分かち書きされたなにかが,1行1文書で記述されていると仮定

上述のユニークな単語集合を作成するものに加えて,以下のようにしてBoWを作成
% cat tmp | tr " " "\n" | sort | LC_COLLATE=C uniq | nl -n ln -s , > bow

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2