সঙ্গে bash
(অথবা উপলব্ধ কোনো শেল, printf
কমান্ড পাওয়া যায় (একটি প্রমিত POSIX প্রায়ই শাঁস সালে নির্মিত কমান্ড)):
printf '%x\n' 85
সহ zsh
, আপনি এটি করতে পারেন:
dec=85
hex=$(([##16]dec))
এটি 2 থেকে 36 পর্যন্ত বেসগুলির জন্য কাজ করে ( 0-9a-z
অঙ্ক হিসাবে সংবেদনশীল ক্ষেত্রে)।
সহ ksh93
, আপনি ব্যবহার করতে পারেন:
dec=85
base54=$(printf %..54 "$dec")
যা 2 থেকে 64 অবধিগুলির জন্য কাজ করে ( 0-9a-zA-Z@_
অঙ্কগুলি হিসাবে)।
সাথে ksh
এবং zsh
, এছাড়াও রয়েছে:
$ typeset -i34 x=123; echo "$x"
34#3l
যদিও এটি ksh88, zsh এবং pdksh এ 36 এবং ksh93 এ 64 অবধি সীমাবদ্ধ।
নোট করুন যে সেগুলি long
আপনার সিস্টেমে পূর্ণসংখ্যার আকারের মধ্যে সীমাবদ্ধ ( int
কয়েকটি শেলের সাথে)। বড় কিছু জন্য, আপনি ব্যবহার করতে পারেন bc
বা dc
।
$ echo 'obase=16; 9999999999999999999999' | bc
21E19E0C9BAB23FFFFF
$ echo '16o 9999999999999999999999 p' | dc
21E19E0C9BAB23FFFFF
পোজিক্স দ্বারা কমপক্ষে 99 এর চেয়ে বেশি হওয়া 2 থেকে কিছু সংখ্যক সমান সমর্থিত বেসগুলি সহ 16 টিরও বেশি ঘাঁটিগুলির জন্য, 9 টিরও বেশি সংখ্যাকে স্পেস-বিভাজিত 0-প্যাডযুক্ত দশমিক সংখ্যা হিসাবে উপস্থাপন করা হয়।
$ echo 'obase=30; 123456' | bc
04 17 05 06
বা এর সাথে একই dc
(প্রায় bc
ব্যবহৃত (এবং এখনও কিছু সিস্টেমে রয়েছে) চারপাশে একটি র্যাপার dc
):
$ echo 30o123456p | dc
04 17 05 06