উত্তর:
সাজানোর জন্য ম্যান পৃষ্ঠাটিতে একটি উঁকি দেখুন ...
-n, --numeric-sort compare according to string numerical value
সুতরাং এখানে একটি উদাহরণ ...
sort -n filename
-g, --general-numeric-sort
করা আরও পরামর্শ দেওয়া হতে পারে। এটি আরও বৈজ্ঞানিক স্বরলিপি যেমন 1.234E10 ইত্যাদির অনুমতি দেয়
আপনি যদি মিশ্র পাঠ্য এবং সংখ্যাসমৃদ্ধ স্ট্রিংগুলি বাছাই করছেন, উদাহরণস্বরূপ রোলিং লগের ফাইলের নামগুলি তবে এর সাথে বাছাই sort -n
করা প্রত্যাশার মতো কাজ করে না:
$ ls |sort -n
output.log.1
output.log.10
output.log.11
output.log.12
output.log.13
output.log.14
output.log.15
output.log.16
output.log.17
output.log.18
output.log.19
output.log.2
output.log.20
output.log.3
output.log.4
output.log.5
output.log.6
output.log.7
output.log.8
output.log.9
-V
সেক্ষেত্রে বিকল্পটি কৌশলটি করে:
$ ls |sort -V
output.log.1
output.log.2
output.log.3
output.log.4
output.log.5
output.log.6
output.log.7
output.log.8
output.log.9
output.log.10
output.log.11
output.log.12
output.log.13
output.log.14
output.log.15
output.log.16
output.log.17
output.log.18
output.log.19
output.log.20
ম্যান পৃষ্ঠা থেকে:
-V, --version-sort natural sort of (version) numbers within text
ls
মাধ্যমে পাইপিং করার সময়ও sed
দৃশ্যত রঙিন আউটপুট জিনিসগুলিকে প্রভাবিত করেছিল। তাই দৌড়াদৌড়িও ls --color=never
একটি পার্থক্য তৈরি করে।
-V
আমি ঠিক যা খুঁজছিলাম আমার প্রথমে ম্যান পেজগুলি দেখার অভ্যাস করা উচিত।
ভাল, এখানে অন্যান্য উত্তর উল্লেখ করুন
sort -n
তবে আমি নিশ্চিত নই যে এটি নেতিবাচক সংখ্যার জন্য কাজ করে। ফেডোরা 9-তে আমি সাজানো সংস্করণ 6.10 এর সাথে প্রাপ্ত ফলাফলগুলি এখানে দিচ্ছি।
ইনপুট ফাইল:
-0.907928466796875
-0.61614990234375
1.135406494140625
0.48614501953125
-0.4140167236328125
আউটপুট:
-0.4140167236328125
0.48614501953125
-0.61614990234375
-0.907928466796875
1.135406494140625
যা সম্ভবত সংখ্যার মান দ্বারা অর্ডার করা হয় না।
তারপরে, আমি অনুমান করি যে আরও সুনির্দিষ্ট উত্তরটি ব্যবহার করা হবে sort -n
তবে কেবলমাত্র সমস্ত মান ধনাত্মক হয়।
PS: sort -g
উদাহরণস্বরূপ একই ফলাফলগুলি ব্যবহার করে
সম্পাদনা:
লোকাল সেটিংস দেখে মনে হচ্ছে বিয়োগ চিহ্নটি অর্ডারকে কীভাবে প্রভাবিত করে ( এখানে দেখুন )) যথাযথ ফলাফল পেতে আমি সবেমাত্র করেছি:
LC_ALL=C sort -n filename.txt
আপনাকে সাংখ্যিক সাজানোর বিকল্পটি ব্যবহার করতে হবে:
sort -n -k 1,1 File.txt
ব্যবহার করুন sort -n
বা sort --numeric-sort
।
echo " Enter any values to sorting: "
read n
i=0;
t=0;
echo " Enter the n value: "
for(( i=0;i<n;i++ ))
do
read s[$i]
done
for(( i=0;i<n;i++ ))
do
for(( j=i+1;j<n;j++ ))
do
if [ ${s[$i]} -gt ${s[$j]} ]
then
t=${s[$i]}
s[$i]=${s[$j]}
s[$j]=$t
fi
done
done
for(( i=0;i<n;i++ ))
do
echo " ${s[$i]} "
done