তারকাচিহ্নের মতো বিশেষ অক্ষরগুলিকে কেন 'সাজান' উপেক্ষা করে?


27

আমি ভেবেছিলাম যা sortসাধারণ উপসর্গগুলি একসাথে বাছাই করবে তবে এটি সর্বদা ঘটে না। উদাহরণস্বরূপ এই ইনপুটটি নিন:

AT0S*eightieths
AT0S*eyetooth's
AT*ad
AT*Ad
AT*AD
AT*Eydie
AT*eyed
ATF*adv
ATF*ATV
ATF*edify
ATF*Ediva
ATFKT*advocate
ATFKTNK*advocating
ATFKT*outfought
ATFKTS*advocates
ATHT*whitehead
ATHT*Whitehead
AT*id
AT*I'd
AT*Ito
AT*IUD
ATJ*adage
ATNXNS*attention's
ATNXNS*attenuation's
ATNXNS*autoignition's
AT*oat
AT*OD
AT*outweigh
AT*owed
ATP0K*idiopathic
ATP*adobe
ATT*wighted
ATT*witted
ATT*wooded
AT*UT
AT*Uta
AT*wowed
AT*Wyatt
ATX*atishoo

এরপরে sort, আমি আশা করবো যে সমস্ত কিছু AT*শেষ হয়ে যাবে তবে আপনি যখন এই ডেটাটি চালাবেন sortতখন আউটপুট ==ইনপুট। তা কেন? আমি বর্ণমালাবিহীন অক্ষর বা কোনও কিছু উপেক্ষা করার কোনও বিকল্প উল্লেখ করছি না। শুধু sort dict > out।

আমার সংস্করণ থেকে sortআসে coreutils 8.5-1ubuntu3।


আমার জন্য কাজ কর. কোথাও হয়ত একটি উপনাম?
— ম্যাথিউ কারটিয়ের

উত্তর:


17
sort --version-sort filename 

এটি সংখ্যার প্রাকৃতিক ক্রম সংরক্ষণ করে।


4
+1 যে কাজ করে কিন্তু কেন? পাঠ্যে কয়েকটি মাত্র একক-সংখ্যা রয়েছে।
— অ্যারন ডিজুল্লা

2
পরিবেশ পরিবর্তনের প্রয়োজন ছাড়াই কাজ করে, +1
— মেরিডেথ

@ অ্যারোনডিগুল্লা: আমার সন্দেহ হয় যে এটি সংস্করণ অনুসারে স্ট্রিংগুলিকে জিনিসগুলি বাছাই করার প্রায় দুর্বোধ্য উপায় হিসাবে গণ্য করে, সুতরাং এটি স্থানীয়ভাবে উপেক্ষা করে এবং একটি বিশেষ উপায়ে কেবল সংখ্যাগুলি পরিচালনা করে।
— জনয়ে

23

এলসি_এলএল = সি সেট করা আমার ক্ষেত্রে traditionalতিহ্যবাহী বাছাইয়ের আদেশ পুনরুদ্ধার করে। প্যাকেজ: কোর্টিলস সংস্করণ: 8.5-1ubuntu3

export LC_ALL=C 

LANG=Cকাজ করে। কি ধাঁধা আমাকে: LANGসেট করা হয় en_US.UTF-8; কেন *এখনও বিশেষ আচরণ করা হয় ??
— অ্যারন ডিজুল্লা

2
LC_COLLATEsortইত্যাদি নির্দিষ্ট সেটিংটি
— পরবর্তী বিজ্ঞপ্তি না হওয়া পর্যন্ত বিরতি দেওয়া।

রাস্পবিয়ান // পিক্সেলে আমার জন্য কাজ করে ... বিশেষ অক্ষরকে অগ্রাহ্য করা 'বিরক্তিকরতা' আমাকে মেরে ফেলেছিল ... ধন্যবাদ।
— ZEE

2
exportস্থানীয় বা সম্ভবত অন্য কোনও কিছুর সাথে বিশৃঙ্খলা বা সেট করার দরকার নেই। শুধু সাজানোর থেকে কল মধ্যে রাখলেন | LC_ALL=C sort। উদাহরণস্বরূপ echo -e 'a\n*\n*b\nc' | LC_ALL=C sort,
— এলসি_এলএল

1

এটি আমার জন্য প্রত্যাশা অনুযায়ী (সিগুইনে) কাজ করে।

sort input > output ফলাফল স্বরূপ

একটি বাচ্চা
একটি বাচ্চা
যেমন AT * Eydie
যেমন AT * আমি চাই
যেমন AT * IUD
যেমন AT * ইটো
যেমন AT * আদ্যাশক্তি
যেমন AT * কেন্দ্রশাসিত অঞ্চল
যেমন AT * উটা
যেমন AT * ওয়াইয়াট
একটি বাচ্চা
যেমন AT * নেত্রবিশিষ্ট
* আইডি যেমন AT
* যবের যেমন AT
যেমন AT * গুরুত্বে অতিক্রম করা
যেমন AT * অপরিশোধিত
যেমন AT * wowed
AT0S eightieths *
AT0S * শ্বদন্ত এর
এটিএফ * এটিভি
এটিএফ * Ediva
এটিএফ * ক্রিয়াবিশেষণ
এটিএফ * নৈতিক করা
ATFKT * উকিল
ATFKT * outfought
ATFKTNK * Advocating
ATFKTS সমর্থনকারীরা *
ATHT * হোয়াইটহেড
ATHT * হোয়াইটহেড
ATJ * প্রবচন
ATNXNS * মনোযোগ এর
ATNXNS * দুর্বলতাসাধণ এর
ATNXNS * autoignition এর
এটিপি * Adobe
ATP0K * ইডিওপ্যাথিক
এটিটি * wighted
এটিটি * মতলব করতে
এটিটি * wooded
এটিএক্স * atishoo

বাছাই কি কোনও কিছুর সাথে যুক্ত? চেষ্টা\sort

এছাড়াও

পরিবেশ দ্বারা নির্দিষ্ট লোকেল বাছাইয়ের ক্রমকে প্রভাবিত করে। দেশীয় বাইট মান ব্যবহার করে এমন traditionalতিহ্যবাহী বাছাইয়ের ক্রম পেতে LC_ALL = C সেট করুন


উপনাম নেই। কিছু উবুন্টু / ডেবিয়ান নির্দিষ্ট বৈশিষ্ট্য অবশ্যই হবে।
— অ্যারন ডিজুল্লা

1

সংস্করণ: সাজান (জিএনইউ কোর্টিল) 8.26

আমি এটি ইনলাইন করি:

LANG=C sort FILE

বা ফাংশন দ্বারা (মূল ফাইল পরিবর্তন করে):

dosort() { local file="$*"; LANG=C sort ${file} -o ${file}.swp; mv ${file}.swp ${file}; cat ${file} ;}

1

অন্যের মন্তব্যের ভিত্তিতে একটি সহজ উত্তর সরবরাহ করতে, এটি আপনার পরিবেশ পরিবর্তন করে না:

input_program | LC_COLLATE=C sort | output_program

অথবা

LC_COLLATE=C sort < input_file > output_file

বা এর সমন্বয়গুলি।


0

জিএনইউ সাজানোর মাধ্যমে আপনি ব্যবহার করতে পারেন --dictionary-order:

NAME
       sort - sort lines of text files

SYNOPSIS
       sort [OPTION]... [FILE]...
       sort [OPTION]... --files0-from=F

DESCRIPTION
       Write sorted concatenation of all FILE(s) to standard output.

       With no FILE, or when FILE is -, read standard input.

       Mandatory arguments to long options are mandatory for short options too.  Ordering options:

       -b, --ignore-leading-blanks
              ignore leading blanks

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