এক্সটেনশন নেই এমন সমস্ত ফাইলের তালিকা করুন


11

আমি কোনও ডিরেক্টরিতে সমস্ত ফাইল তালিকাভুক্ত করতে চাই যার এক্সটেনশন নেই।

উদাহরণ স্বরূপ:

$ ls
a.txt    b      c.pdf     d     e.png
$ ls -someOption
b       d

এর পরিবর্তে আমি কোন আদেশটি ব্যবহার করতে পারি ls -someOption?


সাধারণত আপনি যদি কোনও কমান্ডের বিকল্প জানতে চান তবে টার্মিনালে "man <command>" টাইপ করে এর ম্যান পৃষ্ঠাটি পড়ুন। ম্যান ম্যানুয়াল (সহায়তা) এর জন্য দাঁড়িয়ে আছে for উদাহরণস্বরূপ- man ls
aaditya1234

@ আদিত্যবগগা এই ক্ষেত্রে, ম্যানুয়ালটিতে উত্তরটি পাওয়া যায় না।
উইসবাকি

এই পরিস্থিতিতে, আপনি কি .gitignoreকোনও এক্সটেনশন বিবেচনা করছেন ?
অমিত নাইডু

উত্তর:


14
shopt -s extglob ## enables extended globbing
ls !(*.*) ## matches every file except those containing a dot

আপনি দেখতে পাবেন যে এটি করা আপনাকে কার্যকরী ডিরেক্টরিতে প্রতিটি ডিরেক্টরিগুলির বিষয়বস্তু প্রদর্শন করবে। আপনি যদি এটি না চান তবে ব্যবহার করুন:

ls -d !(*.*)

আপনি যখনই কোনও টার্মিনাল খোলেন তখন এটি সক্রিয় করার জন্য shopt -s extglobআপনার ~/.bashrcরাখতে পারেন। ডিফল্ট উবুন্টুতে ইতিমধ্যে একটি লাইন রয়েছে ~/.bashrc(13.04-এ আমার জন্য লাইন 29) যা আপনি এটি (এবং গ্লোবস্টার) সক্ষম করতে অসুবিধা করতে পারেন।

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

বিকল্পভাবে, আপনি ব্যবহার করতে পারেন

ls --ignore='*.*'

অথবা

ls -I '*.*'

... যা একটি অভ্যন্তরীণ lsবিকল্প, তবে এক্সটগ্লোব যে কোনও স্বেচ্ছাসেবক আদেশে প্রয়োগ করা যেতে পারে এবং তাই আমার মতে আরও কার্যকর।


1
ওপিতে কোন শেলটি উল্লেখ করা হয়নি, যদিও আমার অনুমান করা হয়েছে যে বাশ অনুমান করা হয়েছে। এটি যদি ksh হয় তবে কোনও এক্সট্লোব প্রয়োজন নেই। ডিফল্টরূপে, শুধু:ls !(*.*)
runrig

1
@ রুনরিগ আপনি বেশ সঠিক, তবে প্রশ্নের প্রাথমিক প্রকৃতির প্রবণতা দেখে আমি ধরে নিয়েছি যে ওপি ডিফল্ট ব্যাশ শেলটি ব্যবহার করছে।
27-25

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