ग्नू खोज का उपयोग करते हुए, मुझे लगता है कि यह वही है जो आप चाहते हैं। यह सभी वास्तविक फ़ाइलों को ढूँढता है और डायरेक्टरी (-type f), और हर एक के लिए फ़ाइल नाम (% p), एक टैब (\ t), किलोबाइट्स में आकार (% k), प्रत्यय "KB" और फिर प्रिंट करता है। a newline (\ n)।
find . -type f -printf '%p\t%k KB\n'
यदि प्रिंटफ़ कमांड आपके इच्छित तरीके को चीजों को प्रारूपित नहीं करता है, तो आप निष्पादन का उपयोग कर सकते हैं, इसके बाद कमांड जिसे आप प्रत्येक फ़ाइल पर निष्पादित करना चाहते हैं। फ़ाइल नाम के लिए {} का उपयोग करें, और अर्धविराम (;) के साथ कमांड को समाप्त करें। अधिकांश गोले पर, उन सभी पात्रों को बैकस्लैश के साथ बच जाना चाहिए।
यहां एक सरल समाधान है जो "ls -lh" का उपयोग करके उन्हें खोजता है और प्रिंट करता है, जो आपको मानव-पठनीय रूप में आकार देगा (किलोबाइट के लिए k, मेगाबाइट के लिए):
find . -type f -exec ls -lh \{\} \;
अभी तक एक अन्य विकल्प के रूप में, "wc -c" फ़ाइल में वर्णों (बाइट्स) की संख्या प्रिंट करेगा:
find . -type f -exec wc -c \{\} \;
find . -name '*.ear' -exec ls -lh {} + \;
(GNU एक्सटेंशन) याfind . -name '*.ear' -print0 | xargs -0 ls -lh
।-type f
यदि आप केवल फाइलों में रुचि रखते हैं (या-d
यदि आप अपनी सामग्री के बिना निर्देशिका को शामिल करना चाहते हैं तो ls में जोड़ें) आप भी जोड़ना पसंद कर सकते हैं ।