আপনার আসল ফাইলটির সাথে শেষ হওয়া লাইনগুলি রয়েছে \n, আপনার সাজানো ফাইলটি রয়েছে \r\n। এর \rযোগটি যা আকার পরিবর্তন করে।
উদাহরণস্বরূপ, আমি যখন আমার লিনাক্স সিস্টেমে আপনার কমান্ডটি চালিত করি তখন কী হয়:
$ 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
আপনি দেখতে পাচ্ছেন, সাজানো ডি-ডুপড ফাইলটি কয়েকটি লাইন সংক্ষিপ্ত এবং ফলস্বরূপ কয়েকটি বাইট ছোট হয়। আপনার ফাইলটি অবশ্য আলাদা:
$ wc -l sorted-file.linux.txt sorted-file.txt
271576 sorted-file.linux.txt
271576 sorted-file.txt
দুটি ফাইলের ঠিক একই সংখ্যক লাইন রয়েছে তবে:
$ 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
sorted-file.txt, এক আমি আপনার লিঙ্ক থেকে ডাউনলোড, বড়। যদি আমরা এখন প্রথম লাইনটি পরীক্ষা করি তবে আমরা অতিরিক্তটি দেখতে পাচ্ছি \r:
$ head -n1 sorted-file.txt | od -c
0000000 a \r \n
0000003
যেগুলি লিনাক্সে আমি তৈরি করেছি তার মধ্যে উপস্থিত নেই:
$ head -n1 sorted-file.linux.txt | od -c
0000000 a \n
0000002
যদি আমরা এখন \rআপনার ফাইল থেকে সরিয়ে ফেলি:
$ tr -d '\r' < sorted-file.txt > new-sorted-file.txt
আমরা প্রত্যাশিত ফলাফল পেয়েছি, একটি ফাইল যা মূল থেকে ছোট, যেমনটি আমার সিস্টেমে আমি তৈরি করেছি:
$ 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\nলাইন শেষ রয়েছে, অন্যদিকে ইনপুট ফাইলটির\nলাইন শেষ রয়েছে। সম্ভবত আপনার লোকেলটি আলাদাভাবে সেট করা উচিত।LC_ALL=Cপ্রতিটি কমান্ডের সামনে চেষ্টা করুন ।