নিম্নলিখিত কোড স্নিপেটে কি চলছে? আমি আমার প্রত্যাশিত আউটপুট পাচ্ছি না।
আমি মনে করি এটি একটি বাগ ছিল, তবে এটি 2 টি পৃথক প্রোগ্রামের জন্য ঘটে (ইউনিট এবং সাজান), সুতরাং আমি সন্দেহ করি এটি এর সাথে করার কিছু ... ভাল, আমি জানি না কি .. সুতরাং প্রশ্ন the
প্রথম 3 টি (4 এর) উদাহরণগুলি কাজ করে তবে চতুর্থটি ব্যর্থ হয়!
আমি যে কোনও এবং সমস্ত চরিত্রের জন্য একই আচরণ আশা করব।
অর্থাত। 2 লাইন (ইনপুট 3 লাইন থেকে) মুদ্রণ করতে ... কিন্তু চতুর্থ ক্ষেত্রে, আমি কেবল 1 লাইন (উভয় sort -u
এবং উভয়ের জন্য uniq
) পাই ; দুটি অভিন্ন লাইন কেবল বিলুপ্ত!
আমি সংক্ষিপ্ততার জন্য আউটপুট '\ n' কে স্থানটিতে রূপান্তর করেছি।
আমি ব্যবহার করছি uniq এবং সাজানোর থেকে (গনুহ coreutils) 7.4 ... উবুন্টু 10.04.3 LTS ডেস্কটপে চলছে।
এই পান্ডুলিপি:
{
locale -k LC_COLLATE
echo
for c1 in x 〼 ;do
for c2 in z 〇 ;do
echo -n "asis : "; echo -e "$c1\n$c2\n$c2" |tr '\n' ' ';echo
echo -n "uniq : "; echo -e "$c1\n$c2\n$c2" |uniq |tr '\n' ' ';echo
echo -n "sort -u: "; echo -e "$c1\n$c2\n$c2" |sort -u |tr '\n' ' ';echo
echo
done
echo
done
}
আউটপুট:
collate-nrules=4
collate-rulesets=""
collate-symb-hash-sizemb=2081
collate-codeset="UTF-8"
asis : x z z
uniq : x z
sort -u: x z
asis : x 〇 〇
uniq : x 〇
sort -u: 〇 x
asis : 〼 z z
uniq : 〼 z
sort -u: 〼 z
asis : 〼 〇 〇
uniq : 〼
sort -u: 〼
# In the last example (of 4) where did the '〇' go? .. U+3007 IDEOGRAPHIC NUMBER ZERO
#
sort -u
uniq
LC_COLLATE=C; echo -e "〼\n〇\n〇" |sort -u
|uniq
sort
একা ( -u বিকল্প ব্যতীত) ... চরিত্রগুলিকে ঝাঁকুনি দেয় না ... কী ভিতরে যায়, বেরিয়ে আসে ... তবে, গিলস দ্বারা প্রত্যাশা করা যেতে পারে "বহিরাগত" ইউনিকোড অক্ষরের একই নীতিগত মান রয়েছে , এগুলি অক্ষরগুলি সাজানো হয় না, এগুলি ছাড়াও তারা সাজানো আউটপুটটির "শীর্ষে" একটি নিরবচ্ছিন্ন ফিফো গোষ্ঠী হিসাবে আউটপুট হয় ... সুতরাং এখানে দুটি সত্যিই সমস্যা রয়েছে: ১. অক্ষরগুলি সাজানো হয় না "নির্লজ্জভাবে" "প্রত্যাশিত, এবং 2. উভয়ের" অনন্য "বৈশিষ্ট্যsort
এবংuniq
ডেটা হারাবে (কিছু ক্ষেত্রে)।