আমি প্রথমে ls বাছাই করা আন্ডারস্কোর অক্ষরগুলি কীভাবে করব?


20

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

আমার গুগলিংটি পরিণত হয়েছে যে এটির সাথে এলসি_কোলোলেট এবং আমার বর্তমান লোকাল (en_US) এর সাথে সম্পর্কযুক্ত। এটি ঠিক আছে, যদিও আমি সত্যিই বুঝতে পারি না কেন EN_US প্রত্যাশার মতো বাছাই করে না।

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

আদর্শভাবে, আমি আমার ব্যাশ কনফিগারেশনে এমন কিছু সেট আপ করতে সক্ষম হতে চাই যাতে ls সর্বদা প্রথমে আন্ডারস্কোরগুলি সাজান। আমি কীভাবে এটি করতে যাব?


আমি আইসিইউ কোলেট ব্যবহার করে ডিফল্ট বা en_US_POSIX.txt দিয়ে "লোকেলের জন্য নিয়ম আনতে" ব্যবহার করে পুনরুত্পাদন করতে পারি না। আপনি যে সেটিংস ব্যবহার করেছেন তা কি ব্যাখ্যা করতে পারবেন?
মাইকেল

অনুরূপ প্রশ্ন জিজ্ঞাসাবাবু
মাইকেল

@ মাইকেল উপরে সরবরাহ করা লিংকটি ব্যবহার করে পরীক্ষার ডেটাতে কিছু আন্ডারস্কোর যুক্ত করুন এবং তারপরে সাজানোর ফলাফলগুলি দেখতে জমা দিন।
টম অ্যাগার

আমি ঠিক তাই করেছি এবং আন্ডারস্কোর দিয়ে শুরু হওয়া স্ট্রিংগুলি শুরু করার চেয়ে মাঝখানে সাজানো হয়েছে, যেন আন্ডারস্কোরগুলি নেই।
মাইকেল

1
একটি সম্পর্কিত প্রশ্ন, যা প্রকৃতপক্ষে কোলেশন অর্ডার সংজ্ঞা পরিবর্তনের বিষয়ে আলোচনা করে তা হ'ল ইউনিক্স.স্ট্যাকেক্সেক্সঞ্জ / প্রশ্ন / ৪২২৯০৮
JdeBP

উত্তর:


5

আপনি lsযেভাবে চান তা বাছাই করতে না পারলে শেল প্রসারণের চেষ্টা করুন।

lsশেলটি ইতিমধ্যে বাছাই করা ফাইলগুলির তালিকার সাথে চালানোর জন্য আপনি ফাইলের নাম ধরণগুলি ব্যবহার করতে পারেন , যে পদ্ধতিটি lsব্যবহার করে তা বাইপাস করে ।

ls -lf _* [!_]*

ধরে নিচ্ছি আপনার কাছে ফাইল আছে

_a a _b b _c c

এটি দৌড়ানোর মতো

ls -lf _a _b _c a b c

ব্যাখ্যা:

_* বর্ণানুক্রমিক ক্রমে প্রসারিত, আন্ডারস্কোর দিয়ে শুরু হওয়া যে কোনও ফাইলের নামের সাথে মিলে যাওয়া শেল প্যাটার্ন।

[!_]*বর্ণানুক্রমিক ক্রমে প্রসারিত, আন্ডারস্কোর দিয়ে শুরু না হওয়া কোনও ফাইল নামের সাথে মেলে ।

-fবাছাই নাls করতে বলে , কারণ শেলটি ইতিমধ্যে করেছে।

আরও তথ্য: বাশ ফাইল নাম সম্প্রসারণ

যদি বর্তমান ডিরেক্টরিতে ডিরেক্টরি থাকে তবে আপনি ডিরেক্টরিতে ls তালিকা ফাইল এড়াতে এই জাতীয় কমান্ডটি চালাতে চান:

ls -lfd _* [!_]*

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

4
বা শূন্য; যেমন 00README
mattdm

1
জিলস +1 এর জন্য গুরুত্বপূর্ণ ফাইলগুলিতে ক্যাপগুলি প্রথমে এলএস তৈরির সর্বোত্তম অনুশীলনের জন্য করুন for দিনের শেষে, যদি এটি কনভেনশন হয় তবে আমি সম্ভবত ম্যাক বা উইন্ডোজের জন্য তৈরি কনভেনশনগুলি ব্যবহার করতে পারি, অন্য ওএসরা যেভাবে আচরণ করতে বাধ্য হয় তার চেয়ে আমি কেবল এটি গ্রহণ করি t দুর্দান্ত টিপ জন্য ধন্যবাদ।
টম অাগার

1
@ টমএগার তার নিজস্ব বাছাই না করতে -fবলে ls, তাই এটি পাস হওয়ার সাথে সাথে এটি তার যুক্তি প্রদর্শন করে। প্রতিটি শেল ওয়াইল্ডকার্ড প্রসারণের ফলাফল _*এবং [!_]*একটি ডিক্সিকোগ্রাফিকভাবে সাজানো তালিকা।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

1
@ টমআউগার শেল দ্বারা উত্পন্ন হওয়ার lsসাথে সাথে (দুটি গ্রুপে: যেটি দিয়ে শুরু হয় _, তারপরে অন্যগুলি) যুক্তিগুলি বাছাই করা হয়। চালান echo ls -lf _* [!_]*দেখতে সেখানে কি ঘটছে। -fপতাকা বলে lsকোনো বাছাই না।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

16

আপনি যদি ছোট হাতের এবং বড় হাতের মিশ্রণ যত্ন না করেন, আপনার লোকেল সেট করুন Cযা এটির সংখ্যার ক্রমে অক্ষর নেয়। _বড় হাতের এবং ছোট হাতের মধ্যে পড়ে।

$ LC_COLLATE=C ls    
BAR  FOO  _score  _under  hello  world
$ LC_COLLATE=en_US ls                    
BAR  FOO  hello  _score  _under  world

স্থানীয় সেটিংস LC_MESSAGES(ত্রুটির বার্তাগুলির ভাষা), LC_CTYPE(অক্ষর সেট) এবং LC_TIME(তারিখ এবং সময় বিন্যাস) দরকারী y LC_COLLATEএবং LC_NUMERICসাধারণত তাদের কদর থেকে বেশি সমস্যা হয়, আমি সেগুলি সেট করার পরামর্শ দিই না। যথাযথ লেসিকোগ্রাফিক বাছাই LC_COLLATEনির্দিষ্টকরণের চেয়ে বেশি জটিল এবং আপনি যখন নিয়মিত প্রকাশে চরিত্রের ব্যাপ্তি ব্যবহার করেন তখন এটি সমস্ত ধরণের বিচিত্র আচরণের কারণ হতে পারে। LC_NUMERICবেশিরভাগ প্রসাধনী হয়, যখন কিছু ভয়াবহভাবে ভুল হয়ে যায় তবে কিছু প্রোগ্রামের চেয়ে দশমিক বিভাজক সহ একটি সংখ্যা তৈরি করে .


+1 খুব আকর্ষণীয়। সুতরাং এই ফর্মটি ব্যবহার করে আপনি অস্থায়ীভাবে পরিবেশের পরিবর্তনশীল LC_COLLATE সেট করছেন কেবলমাত্র ls এর একটি উদাহরণের জন্য? এটা কি সঠিক?
টম অাগার

1
আন্ডারস্কোরগুলি উপরের অক্ষরের আগে উপস্থিত হওয়ার কোনও উপায়?
টম অাগার

1
@ টমএগার হ্যাঁ, কেবল পরিবেশের মধ্যে VAR=value cmdসেট VARকরে এবং আপনি যে শেলটি চালাচ্ছেন সেখানে মান (বা মানের অভাবে) স্পর্শ করে না। আন্ডারস্কোরটিকে বড় হাতের সামনে উপস্থিত করতে আপনার নিজের লোকাল সেটিংস সংজ্ঞায়িত করতে হবে। এটি সম্ভব, তবে ব্যবহার করা বিশ্রী কারণ, কমপক্ষে লিনাক্সের অধীনে, স্ট্যান্ডার্ড লাইব্রেরিটি কেবলমাত্র স্থানীয় সংজ্ঞাগুলি অনুসন্ধান করে - এমন কোনও পরিবেশ বা পরিবর্তনশীল যেখানে আপনি আপনার সেটিংটি রাখতে পারেন। valuecmd/usr/lib/locale~/.localeen_tom
গিলস

@ টমএগার যদি এটি কেবল lsআদেশের বিষয়ে হয় তবে মাইকেলের পরামর্শ নিয়ে যান
গিলস 'এস-অশুভ হওয়া বন্ধ করুন'

2

দুর্ভাগ্যক্রমে লিনাক্স তার স্থানীয় তথ্যের জন্য গ্লিবসি ব্যবহার করে, আইসিইউ নয়, তাই প্রচুর পরিশ্রম ব্যয় না করে সরাসরি এটি লিনাক্সে প্রয়োগ করার উপায় নয়, হয় আইসিইউকে গ্লিবসিতে পুনঃনির্ধারণ বা গ্লিবিসিতে স্থানীয় তথ্য পরিপূরক না করে।


-4

যোগ করা হচ্ছে -fসুইচ (কোন বাছাই) এটা আমার জন্য যে ভাবে দেন প্রণীত।

man ls

[root@dusknoir ~/java/test]# ls -fl
total 0
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 _1
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 _2
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 _3
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 1
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 2
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 3

6
কেবলমাত্র সে কারণেই তারা ফাইল সিস্টেমে সঞ্চিত রয়েছে।
ইগনাসিও ওয়াজকিজ-আব্রামস

3
দুঃখিত, তবে এই উত্তরটি সম্পূর্ণ ভুল। পরীক্ষা: touch 3 1 _1 _3 2 _2 && ls -flআউটপুটস2 . 1 3 _2 _3 .. _1
মার্কো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.