zsh
:
print -r -- ${(Oa)=VAR}
$=VAR
splits $VAR
উপর $IFS
। (Oa)
বিপরীত অ্যারে ক্রমানুসারে ফলাফলের তালিকা অর্ডার করে। print -r --
(যেমন ksh
) এর মতো echo -E -
( zsh
নির্দিষ্ট) এর একটি নির্ভরযোগ্য সংস্করণecho
: এর আর্গুমেন্টগুলি স্থান দ্বারা পৃথক করা হয়, নিউলাইন দ্বারা সমাপ্ত করে প্রিন্ট করে।
আপনি যদি কেবলমাত্র স্পেসে বিভক্ত করতে চান, এবং যা $IFS
(স্পেস, ট্যাব, নিউলাইন, ডিফল্টরূপে নুল) রয়েছে তার উপর নয়, হয় স্থান বরাদ্দ করুন $IFS
, বা স্পষ্ট বিভাজন যেমন:
print -r -- ${(Oas: :)VAR}
বিপরীত সংখ্যার ক্রম অনুসারে বাছাই করতে:
$ VAR='50 10 20 90 100 30 60 40 70 80'
$ print -r -- ${(nOn)=VAR}
100 90 80 70 60 50 40 30 20 10
পজিক্লি (এর সাথে এটিও কাজ করবে bash
):
শেল বিল্টিন ( printf
কিছু শেল ছাড়া ) কেবলমাত্র ব্যবস্থার সাথে (সংক্ষিপ্ত মান সহ ভেরিয়েবলের জন্য আরও ভাল):
unset -v IFS # restore IFS to its default value of spc, tab, nl
set -o noglob # disable glob
set -- $VAR # use the split+glob operator to assign the words to $1, $2...
reversed_VAR= sep=
for i do
reversed_VAR=$i$sep$reversed_VAR
sep=' '
done
printf '%s\n' "$reversed_VAR"
সঙ্গে awk
(বড় ভেরিয়েবল, বিশেষ করে সঙ্গে জন্য ভালো bash
, কিন্তু (বা একটি একক যুক্তি) আর্গুমেন্ট আকারের সীমা পর্যন্ত):
awk '
BEGIN {
n = split(ARGV[1], a);
while (n) {printf "%s", sep a[n--]; sep = " "}
print ""
}' "$VAR"