
私はこの方法を他のコンピュータで広く使用してきました、そして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