আমি মনে করি আপনি শেলের একটি বৈশিষ্ট্য ব্যবহার করতে চান, এর নয় ls
। আমি ব্যাশ ব্যবহার করি, তাই আপনি যা চান তা পরীক্ষা করে দেখেছি man bash
। "P এক্সপ্যানিশন" অনুসন্ধান করুন ('/' টিপে প্রথমে টিপে)। উদ্ধৃতাংশ:
সম্প্রসারণ
কমান্ড লাইনে এটি শব্দগুলিতে বিভক্ত হওয়ার পরে সম্প্রসারণ করা হয়। এখানে সাত ধরণের সম্প্রসারণ করা হয়: ব্রেস এক্সপেনশন , টিলডে এক্সপেনশন , প্যারামিটার এবং ভেরিয়েবল এক্সপেনশন , কমান্ড সাবস্টিটিউশন , পাটিগণিতের সম্প্রসারণ , শব্দ বিভাজন এবং পথের নাম সম্প্রসারণ ।
︙
... <স্নিপ> ...
︙
পথের নাম সম্প্রসারণ
শব্দ বিভাজন পর, যদি না -f বিকল্প সেট করা হয়েছে, ব্যাশ অক্ষরের জন্য প্রতিটি শব্দ স্ক্যান *
, ?
এবং [
। যদি এই চরিত্রগুলির মধ্যে একটি উপস্থিত হয়, তবে শব্দটি একটি প্যাটার্ন হিসাবে বিবেচনা করা হবে এবং প্যাটার্নের সাথে মিলে যাওয়া ফাইলের নামের বর্ণমালা অনুসারে বাছাই করা তালিকার সাথে প্রতিস্থাপন করা হবে। ...
আমি সম্প্রতি তাদের প্রথম অক্ষরের উপর ভিত্তি করে ফাইলগুলি বাদ দেওয়া শুরু করেছি, যেমন একটি কমান্ড দিয়ে:
$ ls ./[^t]*
এই চিঠিটি দিয়ে শুরু হয় না এমন কিছু মিলবে t
। যদি আপনি বন্ধনীগুলির মধ্যে আরও অক্ষর যুক্ত করেন তবে আপনি সেই অক্ষরগুলি দিয়ে শুরু হওয়া ফাইলগুলিও বাদ দিন।
একটি লিঙ্ক খুঁজছেন, এবং আমি একটি ভাল আছে! প্যাটার্ন ম্যাচিং দেখুন । সেখান থেকে, এটি আপনার ক্ষেত্রে কাজ করবে:
$ ls -lrt ./!(temp_log.*)
এর জন্য গিলস দ্বারা বর্ণিত বিল্টিন ( ) extglob
ব্যবহার করে শেল বিকল্পটি সক্ষম করা দরকার ।shopt
shopt -s extglob
ls --hide='temp_log.$$'
কাজ করা উচিত। পুরো টার্মের কোন অংশটি তা নির্ভর করে আপনি ওয়াইল্ডকার্ডের সাহায্যে এটিকে প্রসারিত / করতে পারেনtemp_log.$$
।