Saya mencoba mengurutkan konten file di desktop Ubuntu 14.04 (Trusty Tahr). Dalam kasus saya, hasil yang diharapkan harus sama dengan konten asli, tetapi hasil yang sebenarnya tidak. Mengapa?
# cat test.txt
a++-a
a++-b
a++-c
ab
ac
# cat test.txt | sort
a++-a
ab
a++-b
ac
a++-c
command-line
sort
pengguna2909884
sumber
sumber
cat
Anda yang tidak berguna .cat test.txt | sort
dengansort test.txt
:)cat
untuk memulai. Misalnyacat FILE | grep dev | sort
akan menampilkan hanya baris dengan "dev" di dalamnya (dalam urutan diurutkan). Menggunakansort FILE | grep dev
menghasilkan output yang sama tetapi berwarna.Jawaban:
Anda bisa menggunakan
LC_ALL
variabel, aturLC_ALL=C
sebelum memanggilsort
Baca jawaban ini , jika Anda ingin tahu apa ini secara ajaib
LC_ALL=C
. Berikut ini ringkasan singkatnya:Juga, seperti yang ditunjukkan @KenMollerup, kutip dari
man sort
Jadi saat menggunakan sortir
LC_ALL=C
, sortir membandingkan simbol dengan sendirinya. Kalau tidak,sort
akan mengabaikan semua karakter non alfanumerik.sumber
man sort
. Saya tidak menyadarinyaSortir menggunakan pengurutan alfabet dan numerik, sama seperti kita, karakter khusus seperti + - <> ... diabaikan, angka diperlakukan numerik sehingga 1, 2, 3 .. muncul sebelum 11, 12 1066 1104 - lihat!
Jadi daftar Anda dilihat sebagai: aa, ab, ab, ac, ac
sumber
man sort
, tambahkan contoh.