私は次の行含むテキストファイルを作成した場合:予期しないbashのソート動作
>TESTTEXT_10000000
>TESTTEXT_1000000
>TESTTEXT_10000002
>TESTTEXT_10000001
とsort myfile
を実行し、私はに/ 1/2を追加した場合、私の出力は、しかし
>TESTTEXT_1000000
>TESTTEXT_10000000
>TESTTEXT_10000001
>TESTTEXT_10000002
です私の行はソートの出力が大幅に変化し、私はその理由を知らない。
入力:
>TESTTEXT_10000000/1
>TESTTEXT_1000000/1
>TESTTEXT_10000002/1
>TESTTEXT_10000001/1
出力:
>TESTTEXT_10000000/1
>TESTTEXT_1000000/1
>TESTTEXT_10000001/1
>TESTTEXT_10000002/1
入力:
>TESTTEXT_10000000/2
>TESTTEXT_1000000/2
>TESTTEXT_10000002/2
>TESTTEXT_10000001/2
出力:
>TESTTEXT_10000000/2
>TESTTEXT_10000001/2
>TESTTEXT_1000000/2
>TESTTEXT_10000002/2
スラッシュはセパレータとして認識されていますか? --field-speratorを使用しても動作は変更されませんでした。もしそうなら、なぜ1000001/2と1000002/2の間に1000000/2が入りますか?人間のソート、数値ソート、または他のオプションを使用すると、一貫性が決して決して得られませんでした。誰でもここで私を助けることができますか?
:編集: それは関連があると思われるので、答えを考えると、このマシン上でLC_ALLの値がen_GB.UTF-8
はこれを試してみてください: 'LC_ALL = Cソートファイル ' – user000001