最初の2列で大きな(10MB)ファイルを並べ替えようとしています。ファイルはASCII241(±)で区切られます。問題は、最初の2つのデータフィールドを正しく並べ替えた後、-sオプションが含まれているかどうかに関係なく、unixが残りの行で並べ替えを続けることです。
指示 :sort -k1bn -k2n -s -t$'\xF1' -o sorted_file file_to_sort
サンプルデータ:(かなりソートされているので、問題を強調できます)
6033718±2± 0±20817742
6033718±3±20817742
6033718±3±20862761
6033718±3±SRDV408BC
6033718±3±KFT474
6033718±3±941764
6033718±4±20817742
6033718±4±20862761
6033718±4±SRDV408BC
6033718±4±KFT474
6033718±4±941764
6033718±5±21501-0-06 ±D13 * TIMING
6033718±5±17003-0-01 ±VEHICLE OPER
6033718±6±21501-0-06 ±10 ±0±
6033718±6±17003-0-01 ±10 ±0±
6033718±9±I± === Applicable Coverage
6033718±9±I±Volvo D11/13/16 / TIMING
6033718±9±E±check for oil leak, insp
コマンドを実行すると、次のようになります。
6033718±2± 0±20817742
6033718±3±20817742
6033718±3±20862761
6033718±3±941764
6033718±3±KFT474
6033718±3±SRDV408BC
6033718±4±20817742
6033718±4±20862761
6033718±4±941764
6033718±4±KFT474
6033718±4±SRDV408BC
6033718±5±17003-0-01 ±VEHICLE OPER
6033718±5±21501-0-06 ±D13 * TIMING
6033718±6±17003-0-01 ±10 ±0±
6033718±6±21501-0-06 ±10 ±0±
6033718±9±E±check for oil leak, insp
6033718±9±I± === Applicable Coverage
6033718±9±I±Volvo D11/13/16 / TIMING
ご覧のとおり、「3」、「4」、「9」のレコードを見ると、2番目のフィールドに続くデータは並べ替えられていますが、並べ替えのマニュアルには、-sオプションを使用すると残りのデータの並べ替えができないと記載されています。キーが使い果たされた後の行。
ここでどこが間違っているのですか?
ところで、それは小さなファイルでうまくいくようです。