यह मेरी बैश स्क्रिप्ट है - मैं बस शून्य के साथ संख्याओं का एक सेट बाएं-पैड करना चाहता हूं :बैश स्क्रिप्ट में printf के साथ विचित्र समस्या: "09" और "08" अमान्य संख्याएं हैं, "07" और "06" ठीक हैं
printf "%04d" "09"
printf "%04d" "08"
printf "%04d" "07"
printf "%04d" "06"
आउटपुट:
./rename.sh: line 3: printf: 09: invalid number
0000
./rename.sh: line 4: printf: 08: invalid number
0000
0007
0006
क्या ...?
केवल 09 और 08 समस्या पैदा कर रहे हैं: मेरे अनुक्रम में हर दूसरे नंबर ठीक लगता है।
क्यों पृथ्वी पर "-1" बिना किसी और सूचना के गलत क्या था ?! – glglgl
आप 'चाहते $ {एक ## 0}' स्थिति में आप निम्न "009" –
कुछ है कि सब पर मदद नहीं करता है - 'एक =" 009 "; echo $ {a ## 0} 'उपज 09. मुझे यहां एक लूप का उपयोग करना होगा - लेकिन ओपी केवल '08',' 09' और '008',' 00 9' के बारे में wroute। हां, यह '#'/'##' सामान regexes के साथ काम नहीं करता है - regex में, कोई 's/^ 0 * // g' लिख सकता है। – glglgl