Gnu find ব্যবহার করে আমার মনে হয় আপনি যা চান এটি এটি। এটি সমস্ত আসল ফাইল খুঁজে পায় এবং ডিরেক্টরিগুলি (-type f) নয় এবং প্রত্যেকের জন্য ফাইলের নাম (% p), একটি ট্যাব (\ t), কিলোবাইটের আকার (% কে), "কেবি" প্রত্যয় এবং তারপরে প্রিন্ট করে একটি নতুন লাইন (\ n)।
find . -type f -printf '%p\t%k KB\n'
যদি প্রিন্টফ কমান্ড জিনিসগুলি আপনার পছন্দ মতো ফর্ম্যাট না করে তবে আপনি এক্সেক ব্যবহার করতে পারেন এবং প্রতিটি ফাইলের মধ্যে যে আদেশটি প্রয়োগ করতে চান তা অনুসরণ করতে পারেন। ফাইলনামের জন্য {Use ব্যবহার করুন, এবং একটি অর্ধবৃত্ত (;) দিয়ে কমান্ডটি সমাপ্ত করুন। বেশিরভাগ গোলাগুলিতে, এই তিনটি চরিত্রকেই ব্যাকস্ল্যাশ দিয়ে পালাতে হবে।
এখানে একটি সহজ সমাধান যা "ls-lh" ব্যবহার করে তাদের খুঁজে বের করে মুদ্রণ করে, যা আপনাকে মানব-পঠনযোগ্য ফর্মের আকার (কিলোবাইটের জন্য এম, মেগাবাইটের জন্য এম) প্রদর্শন করবে:
find . -type f -exec ls -lh \{\} \;
অন্য একটি বিকল্প হিসাবে, "wc -c" ফাইলটিতে অক্ষরের সংখ্যা (বাইট) মুদ্রণ করবে:
find . -type f -exec wc -c \{\} \;
find . -name '*.ear' -exec ls -lh {} + \;
(গনুহ এক্সটেনশন) অথবাfind . -name '*.ear' -print0 | xargs -0 ls -lh
। এছাড়াও আপনি-type f
কেবল ফাইলগুলিতে আগ্রহী হলে (অথবা-d
আপনি যদি ডিরেক্টরিগুলি তাদের বিষয়বস্তু ব্যতীত নিজেরাই অন্তর্ভুক্ত করতে চান তবে যোগ করুন) যুক্ত করতে পছন্দ করতে পারেন।