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


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.