Intelligent ls` কে নিয়মিত ASCII কোড অনুসারে বাছাই করতে বলুন, "বুদ্ধিমানের সাথে" নয়


13

আমার কাছে কয়েকটি ফাইল রয়েছে এবং lsসেগুলি এর মতো বাছাই করে:

a
_b
c

তবে আমি চাই

_b
a
c

আমি এটা কিভাবে করবো?


2
আমি জিজ্ঞাসা করতে পারি কেন?
RolandiXor

2
উপরে যেতে হবে এমন বিশেষ ডিরেক্টরিগুলি বোঝাতে আমি আন্ডারস্কোর ব্যবহার করি। আমার প্রকল্পগুলির ফোল্ডারে আমার কাছে প্রোজ_এ, প্রজ_ বি এবং _ল্ড_প্রজেক্ট রয়েছে। এই ফোল্ডারটি ও-প্রকল্পগুলির মধ্যে থাকলে এটির কোনও ব্যবহার নেই।
মার্টিন ইউডিং

উত্তর:


9

ওয়ান-অফ কমান্ড হিসাবে আপনি এটি করতে পারেন:

LC_COLLATE=C ls

অথবা আপনি export LC_COLLATE="C"এটি স্থায়ী করতে আপনার .bashrc এ যুক্ত করতে পারেন (অপ্রত্যাশিত ফলাফল অন্য কোথাও বাছাই করতে পারে)।

উবুন্টু ফোরামে আরও তথ্য ।


1
আমার ধারণা আমি এটির সাথে কেবলমাত্র ওরফে এলএস করব, যাতে এর পার্শ্ব প্রতিক্রিয়া না ঘটে।
মার্টিন উয়েডিং

এটি আমার পক্ষে কাজ করে না। আমি এটি পেয়েছি -> পেস্ট.পোকো.আর / শো / 403333 (এটি জার্মান তবে এটি কোনও বিষয় নয়)
dAnjou

2
@ অ্যাঞ্জু এলএস, ASতিহ্যবাহী পসিক্স LC_COLLATE=Cবাছাইয়ের আদেশ সেট করে, এটি ASCII দ্বারা যেখানে বড় হাতের আন্ডারস্কোরের আগে আসে। বড় হাতের আন্ডারস্কোরগুলি সাজানোর জন্য আপনাকে বোনেটের নীচে যেতে হবে এবং / usr / share / i18n / locales এর অধীনে একটি কাস্টম লোকেল সংজ্ঞা তৈরি করতে হবে।
মিস্টারবেন

2
এটি অতীতে কাজ করে থাকতে পারে তবে এটি উবুন্টু 12.04 এ কাজ করছে না।
মাইকেল

1
উবুন্টু 14.04 হিসাবে, LC_COLLATE=C lsকাজ করে না, তবে LC_ALL=C lsতা করে।
jwodder

6

এটি করার কোনও অন্তর্নির্মিত উপায় না হলে আপনি এর জন্য একটি সহজ প্রতিস্থাপন ব্যবহার করতে পারেন sort:

#!/usr/bin/env python

import sys

for i in sorted(sys.stdin):
    sys.stdout.write(i)

এটি সংরক্ষণ করুন, উদাহরণস্বরূপ, /bin/pysortএটিকে নির্বাহযোগ্য ( sudo cp whatever.py /bin/pysortএবং sudo chmod a+x /bin/pysort) করুন এবং এটি চালান ls | pysort:

stefano@lenovo:~/t$ ls | pysort
_b
a
c

1
আমি সম্ভবত এটি ভাল লাগাতে হবে ~/bin। পাইথনের অভ্যন্তরে গ্লোববিং ব্যবহার করা আরও ভাল কারণ ফাইলের নামের মধ্যে একটি নতুন লাইন থাকলে ls আউটপুটটি অদ্ভুত হতে পারে।
মার্টিন উয়েডিং

1

ls | sortআপনার যা প্রয়োজন ঠিক তা করবেন না?


1
না, যে হিসাবে "একটি _b গ" এটা বাছাই করে
স্টেফানো মধ্যে Palazzo

1
না! এবং সাজানোর জন্যও এর বিকল্প নেই :-)
রিনজউইন্ড

2
এটা আশ্চর্যের বিষয় যে সাজানোর অনেকগুলি বিশেষ বাছাই করার উপায় রয়েছে তবে "ASCII মানটি ব্যবহার করুন" এক নয় ...
মার্টিন ইউডিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.