ইউনিক্সের 'ls' নাম অনুসারে বাছাই করুন


127

আপনি কি নাম অনুসারে একটি এলএস তালিকা বাছাই করতে পারেন ?


10
যদি এটি কোনও যুক্তি ছাড়াই নাম অনুসারে বাছাই না করা হয়, আপনি হয়ত দেখতে চেয়েছিলেন যে ls অন্য কোনও কিছুর সাথে আলিয়াস হয়েছে কিনা, বা কেবল সম্পূর্ণ পথটি ব্যবহার করে অনুরোধ করতে পারেন যা বিদ্যমান কোনও উপমা অপসারণ করবে।
tvanfosson

gnu-coreutils ls ডিফল্টরূপে বাছাই করে। আপনি কোন সিস্টেমটি ব্যবহার করছেন (যেমনটি অন্যরা জিজ্ঞাসা করেছেন)
নিক ফোর্টস্কিউ

আপনি কি নিশ্চিত যে নাম অনুসারে বাছাই করতে বলছেন এবং প্রকার অনুসারে নয় (যেমন ডিরেক্টরি প্রথমে ফাইলগুলি পরে) ??
কার্টিস্ক

বড় হাতের অক্ষরের আগে মূল অক্ষরগুলি আসে, সুতরাং ফাইল Z এর আগে ফাইল আসে ... আমি কীভাবে এটি ঠিক করতে পারি?
আর্টঅফ ওয়ারফেয়ার

ম্যান পেজ বলেছে 'আলাদাভাবে এবং ডিক্সিকোগ্রাফিক ক্রমে সাজানো'। ফাইলগুলি প্রথম অক্ষর অনুসারে বাছাই করা হয়: সংখ্যাসূচক [0..9] এবং UPPER অক্ষর [A..Z] এবং
নিম্ন বর্ণগুলি

উত্তর:


131

আমার ls ডিফল্টরূপে নাম অনুসারে বাছাই করে। তুমি কি দেখছো?

man ls পদ বলে:

List information about the FILEs (the current directory by default). Sort entries alpha‐betically if none of -cftuvSUX nor --sort is specified.:


ls-c1নির্দিষ্ট করা হলে বাছাই করে না : এটি করার জন্য কি কোনও উপায় আছে? ( --sort=nameকাজ করছে বলে মনে হচ্ছে না)
dhc

1
ওটা সত্যি না. সহ ls -la, আমি দেখছি .bashrc - can - .config - Downloads - .local - tmp.bashrc - .config - .local - Downloads - can - tmp
:,

1
আমার বলে 100.jpg 10.jpg এর আগে আসে। "0" এর আগে "যদি আসে" তবে অনুমান করি। তবে এটি এখনও স্বজ্ঞাত নয়
22:57

আমি "খ" এর আগে "এম" দেখছি। বিভ্রান্ত। অপেক্ষা করুন, মূলধনটি কী ব্যাপার?
ড্যানিয়েল স্প্রিংগার

105

কিছু সাধারণ জন্য, আপনি সাজানোর সাথে ls একত্রিত করতে পারেন । কেবলমাত্র ফাইলের নামের জন্য:
ls -1 | সাজান

তাদের বিপরীত ক্রমে সাজানোর জন্য:
ls -1 | বাছাই -আর


3
ফাইলগুলি এখানে সাজানোর কোনও উপায় আছে: ls | sort -n 1.1.1; 1.1.2; 1.1.3; 2.10.1; 2.10.15; 2.10.2; 2.10.20; 2.10.21; 2.1.1; 2.1.10; 2.1.15; 2.1.2; 2.1.3; 2.1.4; 10.1.1; 10.1.2; 10.1.3; 11.0.1; 11.0.2; 11.0.20; 11.0.21; 11.0.22; যেমন আপনি দেখতে পারেন 2.10.15 এর আগে 2.10.2
বিবিেকে

আমি পিডিয়ন ডিভাইসে কিছু অ্যান্ড্রয়েড বিকাশ করছি, এবং ls স্বয়ংক্রিয়ভাবে বাছাই করে না, তাই এটি খুব সহায়ক ছিল! একমাত্র সমস্যাটি হ'ল মনে হচ্ছে এটি নরম লিঙ্কগুলি বাছাই করে তবে কোনও কারণে ফাইলগুলি বাছাই করে না
মিচ

ম্যাক এ দেখে মনে হচ্ছে যে দ্বিতীয় কমান্ডটি ছোট করা যেতে পারে ls -1r
অ্যাশ রায়ান আরনওয়াইন

4
@ বিবিকে বাছাই - ভি সংস্করণ সংখ্যা অনুসারে বাছাই করবে, যাতে আপনি পান .. 2.10.2; 2.10.15; .. ম্যান বাছাই থেকে .. --sort = WORD ডাব্লুএআরড অনুসারে বাছাই করবে: সাধারণ-সংখ্যাসঙ্গিক, মানব-সংখ্যার -h, মাস-এম, সংখ্যাসূচক, র্যান্ডম-আর, সংস্করণ-ভি
মোশ

35

lsথেকে coreutilsসঞ্চালিত একটি লোকেল সচেতন ডিফল্টরূপে সাজানোর, এবং এইভাবে কিছু ক্ষেত্রে বিস্ময়কর ফলাফল (উদাহরণস্বরূপ, তৈরি করতে পারে %fooমধ্যে বাছাই হবে barএবং quuxLANG=en_US)। আপনি যদি একটি ASCIIbetical বাছাই করতে চান, ব্যবহার করুন

LANG=C ls

LANGবাছাইয়ের আচরণের এই পোস্টটি আমাকে অনেক সাহায্য করে!
ইউরেনচেন

এটি আমার পক্ষেও কাজ করেছিল। আপনি এই সম্পর্কে বিস্তারিত বলতে পারেন? কেন এটি আলাদাভাবে সাজান?
Kostas

1
এই ডোজটি কাজ ?করে তবে আউটপুটটি টার্মিনাল হওয়ার সময় প্রতিটি অ-এসকিআই চরিত্রের জন্য আউটপুট থাকে (এলএসের খারাপ বৈশিষ্ট্যটি এটি টার্মিনালে আউটপুট দেয় কিনা তা পরীক্ষা করে দেখায়, পাইপিংয়ের সময় কাজ করে)। আপনি এটি বিড়ালকে পাইপ দিয়ে "ফিক্স" করতে পারেন, C.UTF-8লোকেলটি ব্যবহার করুন (যদি আপনার সিস্টেম এটি সমর্থন করে) এবং / অথবা -bপতাকা ব্যবহার করতে পারেন । আরও ভাল, একেবারেই ব্যবহার করবেন না ls, আরও ভাল ব্যবহার করুন 12
12431234123412341234123

এটি আমার জন্য এটি আবিষ্কার করতে সহায়তা করেছিল, সমস্যাটি হ'ল আমার কিছু ফাইলের নামগুলিতে হাইফেন (-) এবং কিছু এন ড্যাশ (-) রয়েছে। lsএন ড্যাশ করার আগে হাইফেনগুলি বাছাই করে।
জামি মাহাবিয়ার

17

* নিক্স সরঞ্জামগুলির সৌন্দর্য হল আপনি সেগুলি একত্রিত করতে পারেন:

ls -l | sort -k9,9

এর আউটপুট এর ls -lমত দেখতে হবে

-rw-rw-r-- 1 luckydonald luckydonald  532 Feb 21  2017 Makefile
-rwxrwxrwx 1 luckydonald luckydonald 4096 Nov 17 23:47 file.txt

সুতরাং আপনার সাথে 9,9কলামটি কলাম 9পর্যন্ত 9ফাইলের নাম হিসাবে বাছাই করুন। আপনাকে কোথায় থামতে হবে তা সরবরাহ করতে হবে, যা এই ক্ষেত্রে একই কলাম। কলামগুলি শুরু হয় 1

এছাড়াও, আপনি যদি উচ্চ / নিম্নতর ক্ষেত্রে উপেক্ষা করতে চান --ignore-caseতবে সারণি কমান্ডে যুক্ত করুন।


1
কী -k9,9মানে?
ভাগ্যোডোনাল্ড

খুঁজে পাওয়া গেল, এর অর্থ 9একই কলাম পর্যন্ত কলাম সাজানো 9। একটি সাধারণ lsআউটপুট এর মতো দেখাচ্ছে: drwx------ 8 999 user 4.0K Feb 5 2017 file.txtসুতরাং কলাম 9 ফাইলের নাম। আপনি যদি মামলাটি উপেক্ষা করতে চান তবে --ignore-caseবাছাই করুন।
ভাগ্যোডোনাল্ড

8

বিজ্ঞপ্তি: "এ" "জেড" এর পরে আসে:

A. A.txt aa.txt Z.txt টাচ করুন

s ls

A.txt Z.txt aa.txt


3
এই সবসময় সত্য নয়। আমি ঠিক জানি না যে পরিস্থিতি এটি সত্য নয়, তবে আমার মেশিনে উবুন্টু 12.04 চলছে, ls এর আউটপুট বর্ণানুক্রমিকভাবে সাজানো হয়েছে (কেসকে উপেক্ষা করে)।
প্যাট্রিক জেমস ম্যাকডুগল

ভালো বল ধরা! দেখে মনে হচ্ছে এটি ASCII কোডের উপর ভিত্তি করে এটি অর্ডার করছে .. উপরের বর্ণমালাগুলি তারপরে ছোট হাতের অক্ষর অনুসরণ করে ..
ক্যান্ট পয়ার

1
আমি লক্ষ্য করেছি যে আমার MacOS প্রথম সংখ্যাগুলি সাজায়, তারপরে বড় হাতের অক্ষর, তারপরে আন্ডারস্কোর এবং তারপরে ছোট হাতের অক্ষর। মজার বিষয় যে তারা কেস সংবেদনশীল নয়। অন্যদিকে, আমার ডেবিয়ান কেস সেনসিটিভ তবে এটি টাই না থাকলে সংবেদনশীলভাবে অক্ষরগুলি বাছাই করে, ছোট হাতের নাগালে জয়! উদাহরণ: ABA.txt ABb.txt aBC.txt AbC.txt ABc.txt
zk82

আমিও একজন ম্যাকের উপর আছি। আমি এ, জেড, এ, জেড ধরণের বাছাই করতে দেখে হতাশ হয়েছি। আমি এখানে আছি কারণ আমি এ, এ, জেড, এ পছন্দ করি। আপনার পরামর্শের জন্য ধন্যবাদ normalসমাধানগুলি এখানে চেষ্টা করে দেখুন ।
nyxee

8

ফাইলগুলি কেবল একটি সংখ্যাসূচক স্ট্রিং দ্বারা পৃথক থাকায় এই সংখ্যায় একটি বিভাজক দ্বারা পূর্বে অবস্থিত শর্তে সাজানো যেতে পারে।

এই ক্ষেত্রে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করা যেতে পারে:

ls -x1 file | sort -t'<char>' -n -k2

উদাহরণ:

ls -1 TRA*log | sort -t'_' -n -k2

TRACE_1.log
TRACE_2.log
TRACE_3.log
TRACE_4.log
TRACE_5.log
TRACE_6.log
TRACE_7.log
TRACE_8.log
TRACE_9.log
TRACE_10.log

4

ম্যান পৃষ্ঠা থেকে (বাশ এলএস এর জন্য):

এন্ট্রিগুলিকে বর্ণমালিকভাবে বাছাই করুন -কুফ্টুঅ্যাক্স এবং না -র মতো না হলে।


3
কোনও "বাশ এলএস" নেই। "যা ls" করুন
নর্বার্ট হার্টল

@ নরবার্ট: আপনি সঠিক, তবে which lsবাশের একটি বিল্টিন এলএস থাকলেও সফল হবেন। বরং builtin lsব্যাশে করুন, এবং একটি ত্রুটি পান।
পিয়ানোসরাস

4
@ নরবার্ট: whichসর্বদা একটি পথ ফেরায় । type lsশেলটি কী মনে করে তা নির্ধারণ করতে ব্যবহার করুন ls(বিল্ট-ইন, ফাংশন, এক্সিকিউটেবল)।
মুহূর্ত

3

lsউপযোগ আইইইই এসটিডি 1003.1-2001 (সাথে সামঞ্জস্য উচিত POSIX.1) যা বলে:

22027: এটি ডিরেক্টরি এবং অ-ডিরেক্টরি অপারেশনগুলিকে পৃথকভাবে বর্তমান লোকেলের কোলটিং ক্রম অনুসারে বাছাই করবে।

26027: ডিফল্টরূপে, ফর্ম্যাটটি বর্ণিত নয়, তবে আউটপুটটি বর্ণানুক্রমিকভাবে চিহ্নের নাম অনুসারে বাছাই করা হবে :

  • গ্রন্থাগার বা বস্তুর নাম, যদি −A নির্দিষ্ট করা থাকে
  • প্রতীক নাম
  • প্রতীক প্রকার
  • প্রতীকটির মান
  • প্রযোজ্য হলে প্রতীকটির সাথে সম্পর্কিত আকার


2

ls -X সেই উদ্দেশ্যে কাজ করে, যদি আপনি ls কে আরও কার্যকর ডিফল্ট হিসাবে অ্যালিজ করে থাকেন।


0
In Debian Jessie, this works nice:

ls -lah --group-directories-first

# l=use a long listing format
# a=do not ignore entries starting with .
# h=human readable
# --group-directories-first=(obvious)
# Note: add -r for reverse alpha

# You might consider using lh by appending to ~/.bashrc as the alias:
~$ echo "alias lh='ls -lah --group-directories-first'" >>~/.bashrc
# -- restart your terminal before using lh command --
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.