আমার প্রচুর সাব-ফোল্ডার সহ "প্যারেন্ট_ফোল্ডার" নামে একটি পিতামাতার ফোল্ডার রয়েছে, এই সাবফোল্ডারগুলিতে "foo.mp4" নামে একটি ফাইল রয়েছে।
এটি করে আমি সহজেই এই ফাইলগুলি খুঁজে পেতে পারি:
mymacbook:parent_folder username$ find ./ -name "foo.mp4" -exec echo {} \;
এখন যে প্রতিটি ফাইলের পথটি ফিরে আসে, প্যারেন্ট_ফোল্ডার / এর সাথে সম্পর্কিত
./path/to/foo.mp4
ফাইল নাম বাদ দিয়ে কীভাবে আমি ঠিক পথে ফিরতে পারি?
find ./ -name "foo.mp4" -printf "%h\n"
প্রতিটি পাওয়া ফাইলের জন্য পাথ মুদ্রণ করবে (এক এক করে লাইন)। যথারীতি কেউ ব্যবহার করেন -exec echo {}
না তাই এখানে -print
(ডিফল্ট এমনকি বাদ দেওয়া) বা printf
ক্রিয়া রয়েছে।
-printf
কেবল জিএনইউ -র । ওপি'র উল্লেখযোগ্য ওএস / এক্স (একটি বিএসডি সিস্টেম)।
-printf
%h
ফাইলের নামের শীর্ষস্থানীয় ডিরেক্টরি (শেষ উপাদানটি বাদে সমস্ত)। যদি ফাইলের নামের কোনও স্ল্যাশ না থাকে (যেহেতু এটি বর্তমান ডিরেক্টরিতে রয়েছে)% h নির্দিষ্টকারীটি "এ প্রসারিত হয়।" ।