Links

find: অপারেটর

আগের লেসনে আমরা টেস্টের ব্যবহার দেখেছি। কিন্তু আমরা যদি আরো জটিল টেস্ট চালাতে চাই? মনে করুন শুধু সেই iso ইমেজগুলো খুঁজবো যেগুলো ৩০০ মেগাবাইটের চেয়ে বড় এবং ৮০০ মেগাবাইটের চেয়ে ছোট। তাহলে আমরা কী করব? আমরা কাজটি করতে পারি এভাবে:
[email protected]:~$ find ~ -type f -name "*.iso" \( -size +300M \) -and \( -size -700M \)
/home/nishadsingha/lubuntu-14.04.1-desktop-i386.iso
/home/nishadsingha/archbang-150328-i686.iso
/home/nishadsingha/Porteus-KDE4-v3.1-i486.iso
/home/nishadsingha/debian-7.7.0-amd64-CD-1.iso
আমাদের এই কমান্ডে \( -size +300M \) -and \( -size -700M \) অংশটুকু নতুন। এখানে আমরা -size +300M এবং -size -700M এক্সপ্রেশনদুটিকে প্রথমে ব্রাকেটে আবদ্ধ করেছি। যেহেতু শেলের কাছে ব্রাকেটের বিশেষ অর্থ আছে তাই তার সামনে '\' ব্যবহার করতে হয়েছে। তারপর এক্সপ্রেশনদুটিকে -and অপারেটর দিয়ে যুক্ত করেছি। ফলে `find সেসব ফাইলই খুঁজবে যেগুলো নামের শেষে .iso আছে এবং সেগুলো ৩০০এমবি থেকে বড় এব: ৭০০ এমবি থেকে ছোট। অন্যান্য অপারেটরগুলি হলো:
অপারেটর
কাজ
-and
অপারেটরের উভয় পাশের এক্সপ্রেশনের শর্তপূরণ করে এমন ফাইল দেখাবে।
-or
অপারেটরের উভয় পাশের এক্সপ্রেশনের যে কোনো একটি শর্তপূরণ করে এমন ফাইল দেখাবে।
-not
বীপরীত শর্ত তৈরী করবে। যেমন -not -perm 0600 সেইসব ফাইলকে দেখাবে যাদের পারমিশন 0600 নয়।
()
টেস্ট এক্সপ্রেশনকে আবদ্ধ করতে ব্যবহৃত হয়।