Saya punya file foo.txt dengan konten ini:
chr1 15
chr11 5
chr11 8
chr1 7
chr2 23
chr1 35
Saya mencoba mengurutkannya terlebih dahulu sesuai dengan kolom pertama, dan kemudian menurut kolom kedua untuk memutuskan hubungan dengan perintah berikut di linux shell:
sort -k 1,1 -k 2,2n foo.txt
Tetapi hasilnya aneh:
chr1 7
chr1 15
chr11 5
chr11 8
chr1 35
chr2 23
Apa yang saya harapkan adalah ini:
chr1 7
chr1 15
chr1 35
chr11 5
chr11 8
chr2 23
EDIT Saya memeriksa karakter dalam file dengan od -fc foo.txt
seperti yang disarankan dalam komentar, tidak ada karakter aneh. Inilah hasilnya:
0000000 3.5274972e-09 8.7240555e-33 3.5274972e-09 8.716562e-33
c h r 1 \t 1 5 \n c h r 1 1 \t 5 \n
0000020 3.5274972e-09 8.8610065e-33 3.5274972e-09 2.5496164e+21
c h r 1 1 \t 8 \n c h r 1 \t 7 \n c
0000040 2.1479764e-33 2.5493397e+21 2.1359394e-33 9.37439e-40
h r 2 \t 2 3 \n c h r 1 \t 3 5 \n
0000057
saya menggunakan sort (GNU coreutils) 8.21
Ada ide?
od -c foo.txt
Jawaban:
Tampaknya preferensi penyortiran tempat Anda masalah. Anda dapat menentukannya di lingkungan Anda, lalu perintah apa pun yang menggunakannya (termasuk
sort
) akan mematuhinya:Atau Anda dapat menentukan nilai itu hanya untuk durasi pengurutan itu sendiri
sumber