প্রথম এবং তারপরে দ্বিতীয় কলাম অনুসারে ফাইল বাছাই করা হচ্ছে


13

দ্বিতীয় কলামের প্রথম উপাদানটি দ্বারা বাছাই করে আমি কীভাবে দুটি কলামের ট্যাব-বিভক্ত পাঠ্য ফাইলটি পরিচালনা করতে পারি (কেবলমাত্র প্রথম কলামের উপাদানটি একই হলে)?

উদাহরণস্বরূপ:

ইনপুট ফাইল 1

A   1-2
A   6-8
A   3-4
B   7-10
B   5-9

প্রত্যাশিত আউটপুট: ফাইল 2

A   1-2
A   3-4
A   6-8
B   5-9
B   7-10

উত্তর:


22

ব্যবহারের sortএর -kবিকল্প একবারে (একাধিক) কলামকে বাছার জন্য:

$ sort -k1,1 -k2n input
A   1-2
A   3-4
A   6-8
B   5-9
B   7-10

-k1,1প্রথম কলামটি প্রথমে -k2nসাজান , তারপরে দ্বিতীয় সংখ্যা অনুসারে যখন প্রথম কলামটি বাঁধা ছিল, সুতরাং আপনার আউটপুটটি আপনি যে ক্রমে চান সেটি পাবেন: দ্বিতীয় কলামের প্রথম উপাদান অনুসারে বাছাই করা, কেবলমাত্র প্রথম কলামের উপাদানটি একই হলে।

সংখ্যার ভিত্তিতে বাছাই করার সময় এটি কেবল ক্ষেত্রটি পরীক্ষা করবে যতক্ষণ না এটি সংখ্যা হওয়া বন্ধ করে দেয়, যাতে এটির আপনাকে কেবল প্রথম উপাদানের তুলনা দেয়।

যখন দুটি কী একইরকম তুলনা করে, তারপরে sortসম্পূর্ণ রেখাগুলিকে একটি শেষ রিসর্টের তুলনা হিসাবে বর্ণিতভাবে তুলনা করে। মধ্যে উদাহরণস্বরূপ A 1-10বনাম A 1-2প্রথম কী অভিন্ন (হয় ASTRING), এবং দ্বিতীয় চাবি পাশাপাশি (উভয় সংখ্যা হিসাবে গণ্য করা হয় 1), অতএব sortতুলনা A 1-10বনাম A 1-2আভিধানিক এবং পরেরটির যেমন বেশী 2পরে প্রকারের 1। এর গনুহ বাস্তবায়ন sortটি -Vবিকল্প বা Vকী পতাকা একটি সম্পাদনের জন্য সংস্করণ সাজানোর, যা দশমিক সংখ্যা যে সিকোয়েন্স ছাড়া একটি আভিধানিক তুলনা মত হল স্ট্রিং মধ্যে সংখ্যাসূচকভাবে তুলনা করা হয়, তাই sort -k1,1 -k2Vসাজানোর would A 1-10পর A 1-2কারণ 10একটি সংখ্যা তার চেয়ে অনেক বেশী হয় 2


¹ প্রযুক্তিগতভাবে, -k2লাইনটির অংশটি দ্বিতীয় ক্ষেত্রের সাথে শুরু হয়ে (প্রথম শূন্যস্থান থেকে ফাঁকাতে প্রথম স্থানান্তরিত হওয়ার পরে) এবং রেখার শেষে শেষ হয় তবে nপতাকাটির সাথে এটি -k2,2nকেবল শীর্ষস্থানীয় অংশের সমতুল্য যে একটি সংখ্যা গঠন বিবেচনা করা হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.