আমার মত একটি ফাইল (user.csv) আছে
ip,hostname,user,group,encryption,aduser,adattr
ব্যবহারকারীর দ্বারা সমস্ত কলাম সাজানোর প্রিন্ট করতে চান,
আমি চেষ্টা করেছিলাম awk -F ":" '{print|"$3 sort -n"}' user.csv, এটি কাজ করে না।
আমার মত একটি ফাইল (user.csv) আছে
ip,hostname,user,group,encryption,aduser,adattr
ব্যবহারকারীর দ্বারা সমস্ত কলাম সাজানোর প্রিন্ট করতে চান,
আমি চেষ্টা করেছিলাম awk -F ":" '{print|"$3 sort -n"}' user.csv, এটি কাজ করে না।
উত্তর:
কিভাবে ঠিক sort।
sort -t, -nk3 user.csv
কোথায়
-t,- আপনার বিভেদক সংজ্ঞায়িত ,।
-n- আপনাকে সাংখ্যিক বাছাই করে। আপনি আপনার প্রয়াসে এটি যুক্ত করার পরে যুক্ত হয়েছেন। যদি আপনার ব্যবহারকারীর ক্ষেত্রটি কেবলমাত্র পাঠ্য হয় তবে আপনার এটির দরকার নেই।
-k3- ক্ষেত্রটি (কী) সংজ্ঞায়িত করে। ব্যবহারকারী তৃতীয় ক্ষেত্র।
sort -t, -nk3 filename.csv | sort -t, -nk6- প্রথমে এটি 3 টি কলাম অনুসারে বাছাই করবে, তারপরে এটি 6 টি কলাম অনুসারে বাছাই করবে যাতে কলাম 6 পুরোভাবে সঠিকভাবে সাজানো হয় এবং যে কোনও সারি যেখানে column কলাম একই, সেগুলি কলাম 3 অনুসারে বাছাই করা হবে ।
sort -t ',' -k3,3n -k6,6nআরও ভাল হবে। -k33 কলাম এবং বাকী রেখাটি ব্যবহার করবে।
সদৃশ ব্যবহারকারীর আইডি অপসারণ করতে সেড ব্যবহার করুন, ধরে নেবেন যে ব্যবহারকারী আইডিগুলিতে কোনও স্থান নেই।
awk -F, '{ print $3, $0 }' user.csv | sort | sed 's/^.* //'
sortকোনও নির্দিষ্ট কলাম অনুসারে কীভাবে বাছাই করা যায় তা ইতিমধ্যে জানে, তবে শোয়ার্টজিয়ান ট্রান্সফর্ম হিসাবে পরিচিত এই কৌশলটি দরকারী যখন আপনি যে ক্ষেত্রটি বাছাই করতে চান তা তুচ্ছভাবে একটি সংজ্ঞায়িত কলাম নয়।
আপনি একটি ডিলিমিটার চয়ন করতে পারেন, এই ক্ষেত্রে আমি একটি কোলন বেছে নিয়েছি এবং প্রথম কলামটি মুদ্রিত করেছি, বর্ণানুক্রমিক ক্রম অনুসারে বাছাই:
awk -F\: '{print $1|"sort -u"}' /etc/passwd
এটা চেষ্টা কর -
awk '{print $0|"sort -t',' -nk3 "}' user.csv
বা
sort -t',' -nk3 user.csv
awk -F "," '{print $0}' user.csv | sort -nk3 -t ','
এই কাজ করা উচিত
sort -t, -k3 file