मैं एक निर्देशिका में सबसे बड़ी फ़ाइल को पुनरावर्ती रूप से खोजने का प्रयास कर रहा हूं। यदि उस निर्देशिका के अंदर एक उपनिर्देशिका है, तो फ़ंक्शन को उस निर्देशिका के अंदर जाने की जरूरत है और यह देखने के लिए जांचें कि क्या सबसे बड़ी फ़ाइल है। एक बार सबसे बड़ी फ़ाइल मिलने के बाद आउटपुट को संबंधित पथ नाम और सबसे बड़ी फ़ाइल के नाम और आकार के साथ प्रदर्शित किया जाता है।
पूर्व:
dude@shell2 (~...assignment/solutions) % bash maxfile.sh ~/test
class/asn
dude.h.gch: 9481628
यह वही है जो मेरे पास है:
#!/bin/sh
clear
recursiveS() {
for d in *; do
if [ -d $d ]; then
(cd $d; echo $(pwd)/$line; du -a; recursiveS;)
fi
done
}
recursiveS
मैं अब कुछ समय के लिए अटक गया। मैं इसे कई मौजूदा यूनिक्स टूल को पाइपलाइन करके लागू नहीं कर सकता। कोई भी विचार अच्छा होगा!
for d in */ .[^.]*/
; do ... `