বাশ প্রিন্টফ ফাংশন: লিনাক্সের জন্য 7 টি উদাহরণ

আপনি যদি কিছু সময়ের জন্য বাশ শেলটি ব্যবহার করে থাকেন তবে আপনি সম্ভবত ইকো কমান্ডটি ব্যবহার করে লিনাক্স টার্মিনালে স্ট্রিংগুলি কীভাবে প্রিন্ট করবেন তা আপনি জানেন। প্রিন্টফ কমান্ড অবশ্য নির্দিষ্ট বিন্যাসে পাঠ্য মুদ্রণ করা আরও সহজ করে তোলে।

আজ আমরা শিখব কীভাবে আমাদের বাশ স্ক্রিপ্টিং দক্ষতা বাড়াতে প্রিন্টফ ফাংশনটি ব্যবহার করতে হয়।

বাশ প্রিন্টফ ফাংশন কী?

নামটি যেমন বোঝায়, প্রিন্টফ একটি ফাংশন যা পাঠ্যের বিন্যাসিত স্ট্রিংগুলি মুদ্রণ করে। তার মানে আপনি একটি স্ট্রিং স্ট্রাকচার (ফর্ম্যাট) লিখতে পারেন এবং পরে এটি মান (আর্গুমেন্ট) দিয়ে পূরণ করতে পারেন।

আপনি যদি সি / সি ++ প্রোগ্রামিং ভাষার সাথে পরিচিত হন তবে আপনি সম্ভবত ইতিমধ্যে জানেন যে কীভাবে প্রিন্টফ কাজ করে। বাশ শেলের প্রিন্টফ খুব অনুরূপ, তবে এতে কয়েকটি ছোট পার্থক্য রয়েছে।

আরও জানুন: সি ++ প্রোগ্রামিং দিয়ে শুরু করার জন্য সেরা সাইট

বাশ শেলের মধ্যে কীভাবে প্রিন্টফ ব্যবহার করবেন

প্রিন্টফের জন্য প্রাথমিক সিনট্যাক্সটি হ'ল:

 printf format [argument]

প্রিন্টফ নির্দিষ্ট আর্গুমেন্ট ব্যবহারের মাধ্যমে পলায়ন ( ) এবং নির্দেশনা ( % ) প্রয়োগ করার সময় বিন্যাসের স্ট্রিংটি মুদ্রণ করবে। নিম্নলিখিত কমান্ডের আউটপুট নোট করুন:

 $ printf "Hello, %s" world
Hello, world

প্রিন্টফ বিশ্ব যুক্তি নিয়েছিল এবং এর সাথে নির্দিষ্ট স্ট্রিংয়ে % s অক্ষরকে প্রতিস্থাপন করে।

আপনি খেয়াল করতে পারেন আউটপুট পরে, বাশ আপনার জন্য একটি নতুন লাইন তৈরি করে না। ইকো কমান্ডের বিপরীতে, প্রিন্টফ আউটপুট প্রিন্ট হওয়ার পরে আপনি নতুন লাইন চান তা ধরে নেবে না। সুতরাং, প্রতিটি ক্ষেত্রে আপনার নতুন লাইনের অক্ষর n ব্যবহার করতে হবে।

একটি স্ট্রিং মুদ্রণ করতে এবং তারপরে একটি নতুন লাইনে যেতে প্রিন্টফ "হ্যালো, ওয়ার্ল্ড n" টাইপ করুন।

 Hello, world

এটি মনে রাখা জরুরী যে প্রিন্টফ আপনার সমস্ত যুক্তির জন্য ফর্ম্যাটটি পুনরায় র চেষ্টা করবে। আপনি এটি আপনার সুবিধার্থে ব্যবহার করতে পারেন তবে আপনি যদি সাবধান হন না তবে আপনি ফলাফলের সাথে শেষ করতে পারেন:

 $ printf "My name is %s " Jordan Gloor
My name is Jordan My name is Gloor

আপনার এও সচেতন হওয়া উচিত যে যদি কোনও যুক্তি অনুপস্থিত থাকে তবে প্রিন্টফ কোনও নির্দেশকে 0 (একটি সংখ্যার জন্য) এবং নাল (একটি স্ট্রিংয়ের জন্য) হিসাবে ব্যাখ্যা করবে।

 $ printf "Hello, %s."
Hello, .

লিনাক্সে প্রিন্টফের সাহায্যে বাশ স্ক্রিপ্টিং কীভাবে কাজ করে তা আপনি এখন জানেন, আপনি এটি আপনার কমান্ডে ব্যবহার শুরু করতে প্রস্তুত।

লিনাক্স ব্যাশ প্রিন্টফ উদাহরণ

প্রিন্টফে অনেকগুলি ফর্ম্যাট স্পেসিফায়ার রয়েছে যা আপনি আপনার স্ক্রিপ্টগুলিতে ব্যবহার করতে পারেন। তবে আজ আমরা ফাংশনটির জন্য কেবল কিছু সাধারণ বিষয়গুলি আবরণ করব।

1. স্ট্রিং সহ আউটপুট ফর্ম্যাট করুন

পাঠ্যের স্ট্রিং সহ আউটপুট ফর্ম্যাট করতে, % s নির্দেশিকা ব্যবহার করুন।

 $ printf "%s is one of the largest online %s." MUO "technology publications"
MUO is one of the largest online technology publications.

2. দশমিকের সাথে ফর্ম্যাট আউটপুট স্ট্রিং

একটি পূর্ণসংখ্যার সাথে একটি স্ট্রিং ফর্ম্যাট করতে, আপনি স্বাক্ষরিত দশমিকের জন্য % d নির্দেশিকা ব্যবহার করতে পারেন।

 $ printf "MUO was founded in %d." 2007
MUO was founded in 2007.

মনে রাখবেন যে আপনি যদি আউটপুটে স্বাক্ষরযুক্ত দশমিক ব্যবহার করতে চান তবে আপনাকে এর পরিবর্তে % u নির্দেশিকা ব্যবহার করতে হবে।

সম্পর্কিত: লিনাক্সে "বাশ" বলতে কী বোঝায়?

৩. প্রিন্টফ ব্যবহার করে আউটপুট ম্যাথ ফাংশন

প্রিন্টফ কমান্ডের সাহায্যে গণিতের ফাংশনগুলি বিন্যাস করা সহজ। আপনার মতামতটি দ্বিগুণ বন্ধনী হিসাবে রাখুন যেমন আপনি সাধারণত ব্যাশে করেন এবং আর্গুমেন্ট তালিকায় এক্সপ্রেশনটি নির্দিষ্ট করুন।

 $ printf "1 + 1 is %d" $((1+1))
1 + 1 is 2

৪. হেক্সাডেসিমাল নাম্বার ফর্ম্যাট করুন

আপনার যদি একটি হেক্সাডেসিমাল সংখ্যার ফর্ম্যাট করতে হয় তবে ছোট হাতের জন্য % x এবং বড় হাতের জন্য % এক্স ব্যবহার করুন।

 $ printf %X 1000
3E8C

বর্তমান তারিখ এবং সময় মুদ্রণ করতে, আপনি ডেট কমান্ডের সাথে প্রিন্টফকে একত্রিত করতে পারেন এবং নিম্নলিখিত নির্দেশাবলী পাস করতে পারেন।

 $ printf "%(%m-%d-%Y %H:%M:%S)T" $(date +%s)
03-26-2021 15:27:57

উপরোক্ত আউটপুটটিতে আপনি মাস, দিন, বছর, ঘন্টা, মিনিট এবং দ্বিতীয়ের জন্য ফর্ম্যাট সুনির্দিষ্ট দেখতে পারেন।

Un. ইউনিকোড অক্ষর সহ স্ট্রিংগুলি ফর্ম্যাট করুন

প্রিন্টফের সাহায্যে ইউনিকোড অক্ষরগুলি মুদ্রণ করতে, 16-বিট ইউনিকোডের জন্য u এসেস্ক এবং 32-বিট ইউনিকোডের জন্য U ব্যবহার করুন।

উদাহরণস্বরূপ, আপনি নিম্নলিখিত কমান্ড সহ কপিরাইট প্রতীক মুদ্রণ করতে পারেন:

 $ printf "u00A9"
©

7. আউটপুট ব্যবধান যোগ করুন

আপনি নির্দেশাবলী নির্দিষ্টকরণকারীর আগে সংক্ষিপ্ত আকারের মুদ্রিত সংখ্যার আগে সংজ্ঞা দিয়ে আপনার স্ট্রিংগুলি ফাঁকা রেখে ফর্ম্যাট করতে পারেন। অব্যবহৃত অক্ষর ফাঁকা জায়গায় পূরণ করা হবে।

উদাহরণস্বরূপ, প্রিন্টফ "% s:% 5d print n" "" মান 1 "25" মান 2 "120 টাইপ করলে আউটপুট আসবে:

 Value 1: 25
Value 2: 120

আউটপুটে % 5d ফর্ম্যাট স্পেসিফায়ার সূচিত করে যে ফর্ম্যাট স্ট্রিংটিতে সর্বনিম্ন পাঁচটি অক্ষর থাকবে। যেহেতু 25 টির কেবল দুটি অঙ্ক রয়েছে তাই বাকী অক্ষরগুলিতে স্পেস যুক্ত করা হয়েছে।

আপনি প্রস্থ হিসাবে একটি নেতিবাচক সংখ্যা পাস করলে, নির্দেশটি ডান-ন্যায়সঙ্গত পরিবর্তে বাম-ন্যায়সঙ্গত হবে।

 $ printf "%-10s: %d " "Circles" 25 "Boxes" 120
Circles : 25 Boxes : 120

আপনি যদি প্রস্থকে পরিবর্তনশীল করতে চান তবে আপনি একটি সংখ্যার পরিবর্তে একটি নক্ষত্রটি পাস করতে পারেন এবং প্রিন্টফ পরবর্তী যুক্তিটি যুক্তির তালিকায় এটি ব্যবহার করবে।

 $ printf "%*s: %d " -10 "Circles" 25 -10 "Boxes" 120
Circles : 25 Boxes : 120

সম্পর্কিত: লিনাক্সে লুপের জন্য বাশ সম্পর্কে আপনার যা কিছু জানা উচিত

লিনাক্স প্রিন্টফ কমান্ড শিখছি

আপনার ব্যাশ স্ক্রিপ্টিং ইউটিলিটি বেল্টে প্রিন্টফ কমান্ডের সাহায্যে আপনি আপনার টার্মিনালে জটিল এবং বিভিন্ন স্ট্রিং মুদ্রণ শুরু করতে প্রস্তুত। আপনি যখন আপনার বাশ স্ক্রিপ্টগুলি বিকাশ করছেন, আপনি সর্বাধিক উত্পাদনশীল পরিবেশে কাজ করছেন তা নিশ্চিত করা গুরুত্বপূর্ণ। এটি কেবল আপনার কমান্ড-লাইন দক্ষতা উন্নত করবে না তবে সাধারণভাবে আপনার কার্যপ্রবাহকে বাড়িয়ে তুলবে।