Sementara file asli Anda memiliki garis yang berakhir dengan \n, file Anda yang diurutkan memiliki \r\n. Penambahan \rinilah yang mengubah ukuran.
Sebagai ilustrasi, inilah yang terjadi ketika saya menjalankan perintah Anda di sistem Linux saya:
$ sort < file.txt | uniq > sorted-file.linux.txt
$ ls -l file.txt sorted-file.linux.txt
-rw-r--r-- 1 terdon terdon 2958616 Jul 10 12:11 file.txt
-rw-r--r-- 1 terdon terdon 2942389 Jul 10 15:15 sorted-file.linux.txt
$ wc -l file.txt sorted-file.linux.txt
273882 file.txt
271576 sorted-file.linux.txt
Seperti yang Anda lihat, file de-duped yang diurutkan lebih pendek beberapa baris dan, akibatnya, beberapa byte lebih kecil. Namun file Anda berbeda:
$ wc -l sorted-file.linux.txt sorted-file.txt
271576 sorted-file.linux.txt
271576 sorted-file.txt
Kedua file memiliki jumlah baris yang persis sama, tetapi:
$ ls -l file.txt sorted-file.linux.txt sorted-file.txt
-rw-r--r-- 1 terdon terdon 2958616 Jul 10 12:11 file.txt
-rw-r--r-- 1 terdon terdon 2942389 Jul 10 15:15 sorted-file.linux.txt
-rw-r--r-- 1 terdon terdon 3213965 Jul 10 12:11 sorted-file.txt
Yang sorted-file.txtsaya unduh dari tautan Anda lebih besar. Jika sekarang kita memeriksa baris pertama, kita dapat melihat tambahan \r:
$ head -n1 sorted-file.txt | od -c
0000000 a \r \n
0000003
Yang tidak ada dalam yang saya buat di Linux:
$ head -n1 sorted-file.linux.txt | od -c
0000000 a \n
0000002
Jika sekarang kami menghapus \rdari file Anda:
$ tr -d '\r' < sorted-file.txt > new-sorted-file.txt
Kami mendapatkan hasil yang diharapkan, file yang lebih kecil dari aslinya, sama seperti yang saya buat di sistem saya:
$ ls -l sorted-file.linux.txt new-sorted-file.txt file.txt
-rw-r--r-- 1 terdon terdon 2958616 Jul 10 12:11 file.txt
-rw-r--r-- 1 terdon terdon 2942389 Jul 10 15:19 new-sorted-file.txt
-rw-r--r-- 1 terdon terdon 2942389 Jul 10 15:15 sorted-file.linux.txt
\r\nakhir baris, sedangkan file input memiliki\nakhir baris. Mungkin Anda harus mengatur lokasi Anda secara berbeda. CobaLC_ALL=Cdi depan setiap perintah.