एक सामान्य खोज के परिणाम का उपयोग कर find . ! -path "./build*" -name "*.txt"
:
./tool/001-sub.txt
./tool/000-main.txt
./zo/001-int.txt
./zo/id/002-and.txt
./as/002-mod.txt
और जब के साथ हल sort -n
:
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
हालांकि वांछित उत्पादन है:
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
जिसका अर्थ है कि उत्पादन केवल फ़ाइल नाम के आधार पर सॉर्ट किया जाता है , लेकिन आउटपुट के भाग के रूप में फ़ोल्डर जानकारी को बनाए रखा जाना चाहिए।
संपादित करें : उदाहरण को और अधिक जटिल बनाएं क्योंकि उपनिर्देशिका संरचना में एक से अधिक स्तर शामिल हो सकते हैं।
-printf
इसके बजाय उपयोग awk
) किए हैं, तो मुझे लगता है कि यह सबसे अच्छा समाधान है। मैंने इस पद्धति का उपयोग करने के लिए अपने मूल कार्यान्वयन को फिर से काम किया है।