Sortir secara leksikografis di bash


5

Saya ingin data diurutkan dengan cara Python mengurutkannya, membandingkan nilai ASCII. Tapi sort Perintah sepertinya terlalu pintar untuk itu. Lihatlah. Sejak '.' < '9':

$ sort
.
9
^D
.
9

$ sort
1.
19
^D
1.
19

Keduanya baik-baik saja. Tetapi untuk beberapa alasan, jika saya hanya menambahkan karakter ke ujung:

$ sort
1.c
19z
^D
19z
1.c

Mungkin ia mencoba membacanya sebagai angka atau sesuatu. Saya tidak ingin itu, saya ingin menyortir hal-hal yang membandingkan nilai ASCII dari setiap karakter. Tidak dapat menemukan opsi seperti itu di man, ada ide?

Jawaban:


5

Perilaku yang dijelaskan mungkin merupakan efek dari lokal. Matikan pengaturan lokal untuk disortir:

$ echo '1.c
19z ' | LC_ALL=C sort
1.c
19z

Wow, terima kasih, coba itu sekarang (file yang diurutkan besar).
valya
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.