এই আর্টিকেলে আমরা লিনাক্স টার্মিন্যালে গাণিতিক হিসাব করার বিভিন্ন উপযুক্ত উপায় দেখাব। এই আর্টিকেল শেষ হয়ে গেলে আপনি কমান্ড লাইনে গাণিতিক গণনার বিভিন্ন ব্যবহারিক পদ্ধতি শিখবেন।
চলুন শুরু করা যাক!
১. Bash শেল ব্যবহার করে
লিনাক্স CLI-এ বেসিক ম্যাথ করার সবচেয়ে সহজ এবং প্রথম উপায় হল ডাবল পেরেনথেসিস ব্যবহার। নিচে কিছু উদাহরণ দেওয়া হলো যেখানে ভেরিয়েবলে সংরক্ষিত মান ব্যবহার করা হয়েছে:
$ ADD=$(( 1 + 2 )) $ echo $ADD $ MUL=$(( $ADD * 5 )) $ echo $MUL $ SUB=$(( $MUL - 5 )) $ echo $SUB $ DIV=$(( $SUB / 2 )) $ echo $DIV $ MOD=$(( $DIV % 2 )) $ echo $MOD
লিনাক্স Bash শেলে অ্যারিথমেটিক
২. expr কমান্ড ব্যবহার করে
expr কমান্ড এক্সপ্রেশন ইভ্যালুয়েট করে এবং প্রদত্ত এক্সপ্রেশনের মান স্ট্যান্ডার্ড আউটপুটে প্রিন্ট করে। আমরা expr-কে সিম্পল ম্যাথ, তুলনা, ভেরিয়েবলের মান ইনক্রিমেন্ট, এবং স্ট্রিং এর দৈর্ঘ্য বের করার জন্য ভিন্ন ভিন্নভাবে ব্যবহার করব।
নিচে expr কমান্ড ব্যবহার করে সিম্পল ক্যালকুলেশনের কিছু উদাহরণ দেওয়া হলো। মনে রাখবেন অনেক অপারেটর শেলের জন্য এস্কেপ বা কোট করতে হয়, উদাহরণস্বরূপ * অপারেটর (আমরা তুলনার অধীনে আরও দেখব)।
$ expr 3 + 5 $ expr 15 % 3 $ expr 5 \* 3 $ expr 5 – 3 $ expr 20 / 4
লিনাক্সে expr কমান্ড দিয়ে বেসিক অ্যারিথমেটিক
এখন আমরা তুলনা কভার করব। যখন এক্সপ্রেশন ফালস হয়, expr 0 প্রিন্ট করে, অন্যথায় 1 প্রিন্ট করে।
কিছু উদাহরণ দেখি:
$ expr 5 = 3 $ expr 5 = 5 $ expr 8 != 5 $ expr 8 \> 5 $ expr 8 \< 5 $ expr 8 \<= 5
লিনাক্সে অ্যারিথমেটিক এক্সপ্রেশন তুলনা
আপনি expr কমান্ড ব্যবহার করে একটি ভেরিয়েবলের মান ইনক্রিমেন্টও করতে পারেন। নিচের উদাহরণটি দেখুন (এইভাবে আপনি ভেরিয়েবলের মান ডিক্রিমেন্টও করতে পারেন)।
$ NUM=$(( 1 + 2)) $ echo $NUM $ NUM=$(expr $NUM + 2) $ echo $NUM
ভেরিয়েবলের মান ইনক্রিমেন্ট
স্ট্রিং এর দৈর্ঘ্য বের করার জন্য expr কমান্ড ব্যবহার করা যেতে পারে:
$ expr length "This is Tecmint.com"
স্ট্রিং এর দৈর্ঘ্য বের করুন
উপরের অপারেটরগুলোর অর্থ জানতে expr ম্যান পেজ দেখুন:
$ man expr
৩. bc কমান্ড ব্যবহার করে
bc (Basic Calculator) হল একটি কমান্ড-লাইন ইউটিলিটি যা একটি সিম্পল সায়েন্টিফিক বা ফাইন্যানশিয়াল ক্যালকুলেটর থেকে আপনার আশা করা সকল ফিচার দেয়। এটি ফ্লোটিং পয়েন্ট ম্যাথ করার জন্য বিশেষভাবে উপকারী।
যদি bc কমান্ড ইনস্টল না থাকে, তবে নিচের কমান্ড দিয়ে ইনস্টল করুন:
$ sudo apt install bc #Debian/Ubuntu $ sudo yum install bc #RHEL/CentOS $ sudo dnf install bc #Fedora 22+
ইনস্টল হলে, আপনি এটি ইন্টারঅ্যাক্টিভ মোডে চালাতে পারেন বা আর্গুমেন্ট পাস করে নন-ইন্টারঅ্যাক্টিভলি—আমরা দুটি কেসই দেখব। ইন্টারঅ্যাক্টিভ মোডে চালাতে কমান্ড প্রম্পটে bc টাইপ করুন এবং ম্যাথ শুরু করুন:
$ bc
bc নন-ইন্টারঅ্যাক্টিভ মোডে শুরু
নিচের উদাহরণগুলো দেখায় কিভাবে bc কমান্ড-লাইনে নন-ইন্টারঅ্যাক্টিভলি ব্যবহার করতে হয়:
$ echo '3+5' | bc $ echo '15 % 2' | bc $ echo '15 / 2' | bc $ echo '(6 * 2) - 5' | bc
লিনাক্সে bc দিয়ে ম্যাথ করুন
-l ফ্ল্যাগ ডিফল্ট স্কেল (দশমিকের পরের অঙ্ক) ২০ সেট করতে ব্যবহৃত হয়, উদাহরণস্বরূপ:
$ echo '12/5 | bc' $ echo '12/5 | bc -l'
ফ্লোটিং নাম্বারের সাথে ম্যাথ করুন
৪. Awk কমান্ড ব্যবহার করে
Awk হল GNU/Linux-এ সবচেয়ে প্রমিনেন্ট টেক্সট-প্রসেসিং প্রোগ্রামের একটি। এটি যোগ, বিয়োগ, গুণ, ভাগ, এবং মডুলাস অ্যারিথমেটিক অপারেটর সাপোর্ট করে। এটি ফ্লোটিং পয়েন্ট ম্যাথের জন্যও উপকারী।
আপনি বেসিক ম্যাথ করার জন্য এটি ব্যবহার করতে পারেন:
$ awk 'BEGIN { a = 6; b = 2; print "(a + b) = ", (a + b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a - b) = ", (a - b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a * b) = ", (a * b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a / b) = ", (a / b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a % b) = ", (a % b) }'
Awk কমান্ড দিয়ে বেসিক ম্যাথ করুন
আপনি যদি Awk-এ নতুন হন, আমাদের Awk টেক্সট প্রসেসিং টুল শিখার সম্পূর্ণ সিরিজ আছে: Learn Awk Text Processing Tool।
৫. factor কমান্ড ব্যবহার করে
factor কমান্ড একটি ইন্টিজারকে প্রাইম ফ্যাক্টরে ডিকম্পোজ করতে ব্যবহৃত হয়। উদাহরণস্বরূপ:
$ factor 10 $ factor 127 $ factor 222 $ factor 110
লিনাক্সে একটি সংখ্যা ফ্যাক্টর করুন
এই আর্টিকেলে আমরা লিনাক্স টার্মিন্যালে অ্যারিথমেটিক করার বিভিন্ন উপযুক্ত উপায় ব্যাখ্যা করেছি। এই আর্টিকেল সম্পর্কে যেকোনো প্রশ্ন জিজ্ঞাসা করুন বা মতামত শেয়ার করুন নিচের ফিডব্যাক ফর্মে।