कमाल है कि इस सवाल कभी नहीं ओ एक समझदार जवाब btained:
shopt -s nullglob
for i in */; do
mkdir -- "${i}newdir"
done
- यह (रिक्त स्थान, वाइल्डकार्ड, आदि) फ़ाइल नामों में अजीब प्रतीकों के बारे में 100% सुरक्षित है।
shopt -s nullglob
ताकि ग्लोब कुछ भी नहीं करने के लिए फैलता है अगर कोई मेल खाते हैं।
--
mkdir
में विकल्पों में से अंत बताने के लिए (एक नाम एक हाइफन के साथ शुरू के साथ एक निर्देशिका है या नहीं, mkdir
एक विकल्प के रूप में यह व्याख्या करने की कोशिश कर भ्रमित नहीं है)।
यह चुपचाप छिपा निर्देशिका ध्यान नहीं देता। आप छिपा निर्देशिकाओं पर यह कार्रवाई करने की जरूरत है, बस का पालन करते हुए लाइन shopt -s nullglob
बदल देते हैं:
shopt -s nullglob dotglob
dotglob
ताकि globs भी विचार छिपी हुई फ़ाइलें/निर्देशिका।
आप mkdir
का केवल एक मंगलाचरण चाहते हैं:
shopt -s nullglob
dirs=(*/)
mkdir -- "${dirs[@]/%/newdir}"
स्रोत
2014-04-30 22:02:34
कृपया, 'ls' के उत्पादन को पार्स नहीं है। धन्यवाद। –