উত্তর:
-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 দ্বারা প্রস্তাবিত । নোট যে -o
juxtaposition চেয়ে কম অগ্রাধিকার আছে, যাতে আপনার প্রথম বন্ধনী প্রয়োজন হতে পারে।
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.JPG
image.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
প্যাটার্নগুলি যা একাধিক নিদর্শনগুলির সাথে মিলে যায়