web-dev-qa-db-ja.com

ターミナルからのソートが正しく機能していません

テキストファイルを2番目の列で並べ替えようとしています。ファイル内のすべてのテキストはWord /t number形式(Word、タブ、およびその重量)です。重量で2番目の列でファイルをソートしようとしていますが、結果は良くありません。ファイルは読み取りおよび書き込み中です。

私が使用しているコマンドはsort -k2,2nrです。 (または、gまたはhのnを変更します)。

どちらも運がありません。

数行の例、おそらくフォーマットが重要です:

00001930-n      7.18509e-06
00001740-n      4.35957e-05 
00002137-n      1.13377e-05
00002452-n      7.73398e-06
00002684-n      0.000244948 
00003553-n      3.98312e-05
00003993-n      3.98321e-07

ここでのいくつかの結果:指数は考慮されていないようです。 (これらの番号はsort -k2,2nr filenameを使用して作成されます。

02052204-n      3e-06  
01975237-v      1.2e-06  
02288155-v      1.2e-06  
15105733-n      1.4e-06  
00962135-a      1.6e-06  
09719309-n      1.9e-06  
02998269-a      2.5e-05  
11938977-n      3.1e-06  
14498972-n      3.6e-06  
03341153-n      5.4e-07  
01908703-n      6.5e-06  
00257026-r      1.02e-06  
08111599-n      1.03e-05  
2
txorimalo

オプションが交換されているため、次のものが必要です。

sort -k2,2gr filename
  • k2,2は、キーを2番目のフィールドとしてのみソートに設定します。 g,r-gおよび-rに類似していますが、このように使用すると、キーでのみ機能するという違いがあります。
3
heemayl

解決しました。ソート機能とは何の関係もありませんでしたが、同じ問題が発生した場合に備えて回答を残します。

問題はロケールにありました。私はスペイン出身です。OS言語とその他のオプションがen_US.UTF-8、数値はes_ES.UTF-8。そのロケール値を変更すると、ソートは機能しました。 (句読点と関係があると思います。)

0
txorimalo