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?

valya
sumber

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
choroba
sumber
Wow, terima kasih, coba itu sekarang (file yang diurutkan besar).
valya