কেন সাজানোর অনুরূপ সাজানোর কীগুলির সাহায্যে লাইনের ক্রম পরিবর্তন করা হচ্ছে?


31

তথ্যটি এখানে:

D 2
B 2
A 2

আমি যখন এই আদেশটি চালাচ্ছি:

sort -k2,2 file

এটি ফলাফল:

A 2
B 2
D 2

আমার প্রশ্নটি হ'ল যখন আমি কেবলমাত্র দ্বিতীয় কলামটি নির্দিষ্ট করি -k2,2, কেন এটি প্রথম কলামটিও সাজান কেন? যেহেতু দ্বিতীয় কলামের সমস্ত মান একই, তাই এটি এটি যেমনটি ছেড়ে দেওয়া উচিত।


7
[সেমি-ওটি]: এফওয়াইআই, একটি সাজান যা ইনপুট অর্ডার সংরক্ষণ করে যখন সারণি কী মিলছে কম্পিউটার বিজ্ঞানে স্থিতিশীল বাছাই হিসাবে পরিচিত । প্রায়শই ধরণের স্থিতিশীল হয় না, কারণ অনেকগুলি অ-স্থিতিশীল সাজানো অ্যালগরিদমগুলি দ্রুত বা সহজ simp এখানে কেস নয়, তবে সিএস শব্দটি জানার ফলে -sবিকল্পটির ম্যানপেজ ডক্সটি বোধগম্য এবং সন্ধানযোগ্য।
ডারোবার্ট

উত্তর:


34

এটিই শেষ সমাধানের তুলনা । দুটি লাইন তুলনা করার সময়, যদি সমস্ত কী সমান তুলনা করে, তবে শেষ অবলম্বন হিসাবে, পুরো রেখার একটি মৌলিক স্ট্রিং তুলনা করা হয় ( -rএখনও প্রয়োগ হয় তবে অন্যান্য বিকল্পগুলি নয়)। এই আচরণটি পসিক্স দ্বারা নির্দিষ্ট করা হয়েছে :

যখন -u অপশনটি নির্দিষ্ট করা হয়েছে তা বাদ দিলে যে লাইনগুলি অন্যথায় সমান তুলনা করে সেগুলি অর্ডার করা হবে যেমন -d, -f, -i, -n, অথবা -k বিকল্পগুলির মধ্যে কোনও উপস্থিত ছিল না (তবে -r এর সাথে এখনও কার্যকর রয়েছে, যদি এটি নির্দিষ্ট করা হয়েছিল) এবং তুলনায় উল্লেখযোগ্য লাইনে সমস্ত বাইট সহ। যে রেখাগুলিতে এখনও সমান তুলনা করা হয়েছে তা অনির্দিষ্ট।

জিএনইউ দিয়ে sort, সেই শেষ-রিসর্ট তুলনাটি -s( স্থিতিশীল ) বিকল্পের সাথে অক্ষম করা যেতে পারে ।

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