自然順序を使用せずに並べ替え

自然順序を使用せずに並べ替え

私はこの方法を他のコンピュータで広く使用してきました、そしてuniq -c常にsort素晴らしい仕事をしました。

新しいUbuntu(13.04)システムでは、奇妙なシーケンスが発生します。

% cat queries.log | grep INSERT | sort | uniq -c | sort
      1 INSERT INTO A (id, organization_id) VALUES (?, ?)
      2 INSERT INTO B (id, resource_id) VALUES (?, ?)
      2 INSERT INTO C (id) VALUES (?)
      2 INSERT INTO D (email, password) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
      3 INSERT INTO E (user_id, type) VALUES (?, ?)
  40275 INSERT INTO F (id, resource_id) VALUES (?, ?)
  40283 INSERT INTO G (action_id, role_id, user_id) VALUES (?, ?, ?, ?, ?)
      6 INSERT INTO H (id, resource_id) VALUES (?, ?)

なぜ6その後40283

予想される「自然な」順序をどのように取得できますか?

ベストアンサー1

-n数値ソートを有効にするオプションを提供する必要があります。

   -n, --numeric-sort
          compare according to string numerical value

おすすめ記事