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.