উত্তর:
-oবিভিন্ন পরামিতিগুলির মধ্যে পতাকা ব্যবহার করুন ।
find ./ -type f \( -iname \*.jpg -o -iname \*.png \) একটি যাদুমন্ত্র মত কাজ করে.
উল্লেখ্য আছে আবশ্যক বন্ধনী এবং তার বিষয়বস্তুর মধ্যে একটি স্থান হতে পারে অথবা এটা কাজ করবে না।
ব্যাখ্যা:
type -f - কেবল ফাইল অনুসন্ধান করুন (ডিরেক্টরি নয়)\(- type -fসমস্ত আর্গুমেন্ট প্রয়োগ করার প্রয়োজন-o - লজিকাল ওআর অপারেটর-iname- যেমন -name, তবে ম্যাচটি সংবেদনশীলtype -fপ্রসারিত না এবং বন্ধনী ছাড়া উভয় এক্সপ্রেশন প্রযোজ্য হলেও, সুতরাং, find ./ -type f -iname \*.jpg -o -type f -iname \*.pngএছাড়াও কাজ করে ... যদিও এটিকে দুটি অক্ষর আর :-)
a * b + cতার থেকে আলাদাa * (b + c)
আপনার সাথে মানদণ্ড একত্রিত করতে পারেন -oযেমন Shadur দ্বারা প্রস্তাবিত । নোট যে -ojuxtaposition চেয়ে কম অগ্রাধিকার আছে, যাতে আপনার প্রথম বন্ধনী প্রয়োজন হতে পারে।
find . -name '*.jpg' -o -name '*.png'
find . -mtime -7 \( '*.jpg' -o -name '*.png' \) # all .jpg or .png images modified in the past week
লিনাক্সে, আপনি -regexটর্জার উপায়ে এক্সটেনশনগুলি একত্রিত করতে ব্যবহার করতে পারেন । ডিফল্ট রেজিএক্সপ্যাক্স সিনট্যাক্সটি হ'ল ইম্যাক্স ( বেসিক রিজেক্সপস প্লাস কয়েকটি এক্সটেনশন যেমন \|বিকল্পের জন্য); এক্সটেন্ডেড রেজেক্সপসে স্যুইচ করার বিকল্প রয়েছে ।
find -regex '.*\.\(jpg\|png\)'
find -regextype posix-extended -regex '.*\.(jpg|png)'
ফ্রিবিএসডি, নেটবিএসডি এবং ওএসএক্সে , আপনি এক্সটেন্ডেড রেজেক্সপসের জন্য -regexমিলিত ব্যবহার করতে পারেন -E।
find -E . -regex '.*\.(jpg|png)'
-inameপরিবর্তে ব্যবহার করা সর্বদা ভাল -name- তারপরে image.JPGimage.PnG
এটি আরও সঠিক:
find . -iregex '.*\.\(jpg\|gif\|png\|jpeg\)$'
-iregexম্যাচ jpgসেইসাথে JPG Jpg jpGএবং এই ধরনের। আমার মনে হয় এর $দরকার নেই।
find -E . -iregex '.*\.(jpg|png|gif)'@ সোরিনের উত্তরে দেখানো হয়েছে।
এটি পরিষ্কার করার জন্য, লিনাক্স, ইউনিক্স এবং ম্যাকোস স্বাদে একমাত্র বিকল্পটি কাজ করে:
find -E . -regex '.*\.(jpg|png)'
এটি কারণ ওএস এক্স সংস্করণটি কিছুটা আলাদা, তবে বেশিরভাগ প্ল্যাটফর্মগুলিতে ভালভাবে লেখা জিনিসগুলি লেখা গুরুত্বপূর্ণ।
-type f \( -iname \*.png -o -iname \*.jpg\)কাজ করে না?
find -nameপ্যাটার্নগুলি যা একাধিক নিদর্শনগুলির সাথে মিলে যায়