এক্সটেনশন ছাড়াই ফাইলগুলি সন্ধান করুন


43

আমার আছে বলে দিন:

foo.txt
bar
baz.ooo

আমি যদি ব্যবহার করি ls -1 !(*.*)তবে আমি কেবল barআউটপুট এ যাব । দুর্দান্ত, এখন আমি ফলাফলের সাথে একই ফলাফল পেতে চাই - কিছু find -regexকাজ করবে will

বিঃদ্রঃ:

find -name !(*.*)উত্তরটি যেমন নেই তেমনি !(*.*)এখনও বাশের গ্লোব যা আমি ব্যবহার করতে পারি না।

উত্তর:


63

আপনি ব্যবহার করতে পারেন: find . -type f ! -name "*.*" নীচের !বর্ণনাকে অবহেলা করে, এখানে একটি ফাইল নাম রয়েছে যা একটি 'থাকে।'

আপনি -maxdepthঅনুসন্ধানের গভীরতা হ্রাস করতে বিকল্পটিও ব্যবহার করতে পারেন ।


1
আমার আপনার উত্তরটি সবচেয়ে বেশি পছন্দ কারণ ফাইলের নামগুলির জন্য আমার কিছু অন্যান্য প্রতিবন্ধকতা রয়েছে এবং এটি আপনার বুলেট প্রুফ।
pawel7318

এটি যখন দুর্দান্ত ls -1 !(*.*)কাজ করে না তখন কারণ এটি !"ইভেন্টটি পাওয়া যায় নি" gives
নওম্যানন

2
@ নুমেনন এটি set +Hসমাধান করতে করবেন
pawel7318

1
আপনি যদি .gitignoreএক্সটেনশন ছাড়াই কোনও ফাইল হিসাবে আচরণ করেন (নোডের পাথ.সেক্সটমন (যেমন)) এর ! -name "?*.*"পরিবর্তে! -name "*.*"
জনি ওয়াং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.