وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

دستور Bash Printf

0 15
زمان لازم برای مطالعه: 4 دقیقه


کار با bash اسکریپت نویسی، ما بیشتر از ” استفاده می کنیمecho” فرمان به print هر خروجی که راحت و آسان برای استفاده است و در اکثر مواقع نیاز را برآورده می کند. اما سادگی با محدودیت همراه است. echo فرمان محدودیت های خاص خود را در قالب بندی خروجی دارد، در این صورت، “printfدستور نقش خود را ایفا می کند.

printf” فرمان در bash اسکریپت نویسی به همین صورت کار می کندprintf ()” به زبان C کار می کند. این پست تمرکز خواهد کرد روی “printfدستور، نحو آن، و مثال هایی که استفاده از این دستور را بیشتر توضیح می دهند. بیایید نحو ” را بررسی کنیمprintf” دستور:

printf <var> <فرمت کردن> <استدلال…>

: اختصاص خروجی به یک متغیر اختیاری است.
: رشته‌ای است که ممکن است حاوی مشخص‌کننده‌های فرمت متفاوتی باشد، مانند «%s»، «%b»، «%d»، «%f»، و بک اسلش escape.
<برهان…> : آرگومان ها می توانند هر مقدار یا متغیری باشند

روش استفاده از دستور printf در bash اسکریپت نویسی با استفاده از ویرایشگر Vim:

ما از ویرایشگر Vim برای این راهنما استفاده می‌کنیم، زیرا قابلیت‌های غنی و سهولت استفاده آن را دارد. Vim را دریافت کنید روی دستگاه شما با استفاده از:

$ سودو apt نصب vim

ویرایشگر vim را راه اندازی کنید:

$ vim

بیایید یک برنامه ساده بنویسیم print یک رشته با استفاده از “printf”:

#! /صندوقچه/bash
printf “سلام Linuxhint”

برای ذخیره فایل، دکمه “خروجدکمه ” را برای تغییر حالت و سپس تایپ کنید “:w example.sh” و سپس “Enter”. حالا یک جدید باز کنید terminal پنجره و نوع:

$bash مثال.ش

دستور بالا اسکریپت the را اجرا می کند print متن “hello linuxhin” را همانطور که در زیر نشان داده شده است خارج کنید:

دستور Bash Printf

اکنون، اجازه دهید برخی از مشخص کننده های قالب را اضافه کنیم:

#! /صندوقچه/bash
printf%s\n” “Hello Linuxhint”

دستور Bash Printfدستور Bash Printf

در مثال بالا، “%s” می گوید که آرگومان مربوطه باید به عنوان رشته و “\n” برای خط جدید در نظر گرفته شود. به طور مشابه، اگر از “%d” استفاده کنیم، آرگومان به عنوان یک عدد صحیح در نظر گرفته می شود:

#! /صندوقچه/bash
printf%s\n” “Hello Linuxhint” “Learn about” “Linux”

هر سه آرگومان به عنوان یک رشته در نظر گرفته می شوند و همانطور که در خروجی زیر نشان داده شده است در یک خط جدید چاپ می شوند:

پیشنهاد می‌کنیم بخوانید:  Grep برای الگوهای چندگانه یا رشته ها

دستور Bash Printfدستور Bash Printf

مثال دیگری در زیر برای درک بیشتر استفاده از دستور printf ذکر شده است:

#! /صندوقچه/bash
echo “اسمت را وارد کن”
خواندن نام
echo “سن خود را وارد کنید”
خواندن سن
printf “اسم شما : %s\nسن شما: %s\n” “$name” ”سن دلار

دستور Bash Printfدستور Bash Printf

“نام شما : %s\n سن شما: %s\n” قالب است در حالی که “$name” “$age” آرگومان ها هستند. در حالی که “%s” به آرگومان ها اشاره می کند.

روش استفاده از مشخص کننده های تبدیل با دستور printf:

مشخص‌کننده‌های تبدیل، کاراکترهایی هستند که با علامت «%» برای نشان دادن روش برخورد با آرگومان‌ها استفاده می‌شوند. بیایید لیست برخی از مشخص کننده های رایج مورد استفاده را بررسی کنیم:

مشخص کننده Dشرح
%% نماد “%” را چاپ می کند
%c آرگومان ها را به عنوان یک کاراکتر واحد در نظر می گیرد
%e و %E آرگومان را در عدد ممیز شناور بگیرید و با نماد نمایی چاپ کنید، %e برای حروف کوچک و %E برای حرف بزرگ
%g و %G آرگومان را در عدد ممیز شناور بگیرید و به صورت نمادهای معمولی یا نمایی چاپ کنید
% f آرگومان را به عنوان اعداد شناور می گیرد
%d آرگومان ها را به عنوان اعداد صحیح امضا شده می گیرد
%u آرگومان را به عنوان اعداد صحیح بدون علامت می گیرد
%o آرگومان را به عنوان یک عدد هشتی بدون علامت می گیرد
%x و %X آرگومان ها را به عنوان اعداد صحیح هگزادسیمال بدون علامت می گیرد

بیایید مشخص‌کننده‌های بالا را با یک مثال توضیح دهیم bash:

#! /صندوقچه/bash
echo “یک عدد برای تبدیل وارد کنید”
خواندن عدد
printf اعشاری: %d\nاکتال: %o\nهگز: %X\n” “$شماره” ”$شماره” ”$شماره

دستور Bash Printfدستور Bash Printf

روش استفاده از دستورالعمل های Flag، Width و Precision با دستور printf:

دستورالعمل های پرچم با استفاده اختیاری با دستور “printf” ارائه می شوند. دستورالعمل های پرچم رایج استفاده می شود

  • “-” سمت چپ خروجی را توجیه می کند
  • “+” علامت “+” را با عدد صحیح اضافه می کند
  • “0” “0” را با عدد به جای فاصله اضافه می کند
پیشنهاد می‌کنیم بخوانید:  روش استفاده از متغیر در دستور awk

دستورالعمل های عرض با خروجی که معمولاً بعد از پرچم استفاده می شود، فضا اضافه می کنند. بیایید با یک مثال آن را درک کنیم:

#! /صندوقچه/bash
echo “اسمت را وارد کن”
خواندن نام
echo “سن خود را وارد کنید”
خواندن سن
printf نام و سن شما عبارتند از: %5 ثانیه %5d\n” “$name” “سن”

“%30s” به این معنی است که فاصله 30 کاراکتر است و برای تراز کردن فرم خروجی سمت چپ، از علامت “-” “%-30s” استفاده کنید.

دستور Bash Printfدستور Bash Printf

دستورالعمل دقیق از نقطه “.” به دنبال عدد صحیح مثبت:

#! /صندوقچه/bash
printf%.2f” 2.56473

خروجی خواهد بود:

دستور Bash Printfدستور Bash Printf

اگر عدد یک عدد صحیح باشد، دستورالعمل دقیق “0” را قبل از عدد اضافه می کند. اگر عدد از نوع ممیز شناور باشد، دستورالعمل دقیق تعداد ارقام مثبت را بعد از ممیز اعشار مشخص می کند. برای رشته، تعداد کاراکترهایی که باید نمایش داده شوند را مشخص می کند:

#! /صندوقچه/bash
printf%.2f\n” 2.468936
printf%.3d\n” 10
printf%.3s\n” “samlinux”

دستور Bash Printfدستور Bash Printf

پارامترهای بک اسلش فرار:

پارامترهای بک اسلش که توالی فرار نیز نامیده می شوند، همراه با اسلش برای قالب بندی رشته با دستور printf استفاده می شوند. این سکانس ها خودشان را نشان نمی دهند بلکه در برخی شخصیت های دیگر تفسیر می شوند. برخی از دنباله های فرار رایج عبارتند از:

شخصیت شرح
\\ کاراکتر اسلش را چاپ می کند
\b کاراکتر Backspace را چاپ می کند
\n خروجی را در یک خط جدید چاپ می کند
\r یک برگشت کالسکه را چاپ می کند (مکان نما در ابتدای خط)
\ t فضای برگه را از سمت راست می دهد
\ v فضای برگه می دهد

نتیجه:

وقتی صحبت از آن می شود print چیزی در bash اسکریپت نویسی، “echoدستور ” بیشتر مورد استفاده قرار می گیرد زیرا استفاده و به خاطر سپردن آن آسان است. ولی “echo” دستور محدودیت دارد. بنابراین، برای فرمت صحیح خروجی، “printf” می توان از دستور استفاده کرد. این “printf” دستور با گزینه‌های زیادی برای قالب‌بندی خروجی رشته و حتی تبدیل‌ها و قالب‌بندی اعداد اولیه ارائه می‌شود. این راهنما به طور کامل عملکرد فرمان “printf” را درک می کند bash اسکریپت نویسی با مثال

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 02:16:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید