चर के प्रत्येक अंक को निकालें और नए चर को बैश में स्टोर करें


0

मेरे पास एक चर है जो 1 - अनंत से लेकर एक संख्या है। मान लें कि संख्या 40 है। मुझे 4 को एक चर के रूप में और 0 को एक चर के रूप में संग्रहीत करने की आवश्यकता है। चूँकि संख्या 2 अंकों से आगे बढ़ सकती है, मान लीजिए कि संख्या 125 है। मुझे 1 को चर के रूप में, 2 को चर के रूप में और 5 को एक चर के रूप में संग्रहित करने की आवश्यकता है।
मैं इसे बैश के साथ कैसे कर सकता हूं?


एक सरणी भी संभव है?
Cyrus

@ क्रिस - बिल्कुल।
OB7

जवाबों:


0

आप उस मान की लंबाई पर एक गणना लूप का उपयोग कर सकते हैं जिसे आप अंकों में विभाजित करना चाहते हैं, और अंकों को एक सरणी में डाल सकते हैं, उदाहरण के लिए:

value=125
arr=()
for ((i = 0; i < ${#value}; i++)); do
    arr+=(${value:$i:1})
done

for x in "${arr[@]}"; do
    echo $x
done

यह प्रिंट करेगा:

1
2
5
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.