إذا كنت تستخدم Bash shell لفترة زمنية مناسبة ، فمن المحتمل أنك تعرف كيفية طباعة السلاسل في محطة Linux باستخدام أمر echo. ومع ذلك ، فإن الأمر printf يجعل طباعة النص بتنسيق معين أسهل بكثير.

سنتعلم اليوم كيفية الاستفادة من وظيفة printf لتحسين مهاراتنا في البرمجة النصية Bash.

ما هي وظيفة Bash printf؟

كما يوحي الاسم ، فإن printf هي وظيفة تطبع سلاسل نصية منسقة. هذا يعني أنه يمكنك كتابة بنية سلسلة (التنسيق) وتعبئتها لاحقًا بالقيم (الوسيطات).

إذا كنت معتادًا على لغات البرمجة C / C ++ ، فقد تعرف بالفعل كيفية عمل printf. إن Printf في غلاف Bash متشابه جدًا ، لكن لديه بعض الاختلافات الصغيرة.

يتعلم أكثر: أفضل المواقع للبدء في برمجة C ++

كيفية استخدام printf في Bash Shell

الصيغة الأساسية لـ printf هي:

تنسيق printf [وسيطة]

سيقوم Printf بطباعة ملف صيغة السلسلة أثناء التنفيذ يهرب (\) و التوجيهات (%) من خلال استخدام المحدد الحجج. لاحظ إخراج الأمر التالي:

$ printf "Hello،٪ s" world
مرحبا بالعالم

تولى Printf العالم حجة واستبدال ٪س حرف في السلسلة المحددة معه.

قد تلاحظ أنه بعد الإخراج ، لا يقوم Bash بإنشاء سطر جديد لك. بخلاف أمر echo ، لن تفترض printf أنك تريد سطرًا جديدًا بعد طباعة الإخراج. وبالتالي ، ستحتاج إلى استخدام حرف الخط الجديد 

instagram viewer
في كل حالة.

لطباعة سلسلة ثم الانتقال إلى سطر جديد ، اكتب printf "مرحبًا ، العالم \ n".

مرحبا بالعالم

من المهم أن تضع في اعتبارك أن printf ستحاول إعادة استخدام التنسيق لجميع الحجج الخاصة بك. يمكنك استخدام هذا لصالحك ، ولكن إذا لم تكن حريصًا ، فيمكنك الحصول على نتائج مثل هذه:

$ printf "اسمي٪ s" جوردان غلور
اسمي جوردان اسمي جلور

يجب أن تدرك أيضًا أنه في حالة عدم وجود وسيطة ، ستفسر printf أي توجيهات على أنها 0 (لعدد) و باطل (لسلسلة).

$ printf "مرحبًا ،٪ s."
أهلا، .

الآن بعد أن عرفت كيف تعمل Bash scripting مع printf في Linux ، فأنت جاهز لبدء استخدامه في أوامرك.

أمثلة على Linux Bash printf

يتميز Printf بالعديد من محددات التنسيق التي يمكنك استخدامها في البرامج النصية الخاصة بك. لكننا سنغطي اليوم فقط بعض العناصر المشتركة للوظيفة.

1. تنسيق الإخراج بسلسلة

لتنسيق الإخراج بسلاسل نصية ، استخدم ملف ٪س التوجيه.

$ printf "٪ s هي واحدة من أكبر٪ s عبر الإنترنت." MUO "منشورات التكنولوجيا"
MUO هي واحدة من أكبر منشورات التكنولوجيا على الإنترنت.

2. تنسيق سلسلة الإخراج مع الكسور العشرية

لتنسيق سلسلة بعدد صحيح ، يمكنك استخدام ٪د توجيه للحصول على علامة عشرية موقعة.

$ printf "تم تأسيس MUO في٪ d." 2007
تأسست MUO في عام 2007.

لاحظ أنه إذا كنت تريد استخدام رقم عشري غير موقع في الإخراج ، فسيتعين عليك استخدام ملحق ٪ u التوجيه بدلا من ذلك.

متعلق ب: ماذا تعني كلمة "Bash" في لينكس؟

3. إخراج دوال الرياضيات باستخدام printf

يعد تنسيق وظائف الرياضيات باستخدام الأمر printf أمرًا سهلاً. فقط ضع تعبيرك داخل أقواس مزدوجة كما تفعل عادةً في Bash ، وحدد التعبير في قائمة الوسائط.

$ printf "1 + 1 هو٪ d" $ ((1 + 1))
1 + 1 تساوي 2

4. تنسيق الأعداد السداسية العشرية

إذا كنت بحاجة إلى تنسيق رقم سداسي عشري ، فاستخدم ٪ x للحروف الصغيرة و ٪ X للأحرف الكبيرة.

$ printf٪ X 1000
3E8C

5. تاريخ ووقت الطباعة

لطباعة التاريخ والوقت الحاليين ، يمكنك دمج printf مع ملف تاريخ الأمر وتمرير التوجيهات التالية.

$ printf "٪ (٪ m-٪ d-٪ Y٪ H:٪ M:٪ S) T" $ (التاريخ +٪ s)
03-26-2021 15:27:57

يمكنك رؤية محددات التنسيق للشهر واليوم والسنة والساعة والدقيقة والثانية في الإخراج المذكور أعلاه.

6. تنسيق السلاسل بأحرف Unicode

لطباعة أحرف Unicode باستخدام printf ، استخدم ملحق \ u الهروب لـ Unicode 16 بت و \ يو لـ 32 بت Unicode.

على سبيل المثال ، يمكنك طباعة ملف حقوق النشر مع الأمر التالي:

$ printf "\ u00A9"
©

7. إضافة تباعد إلى الإخراج

يمكنك تنسيق السلاسل الخاصة بك بمسافات من خلال تحديد الحد الأدنى لعدد الأحرف المطبوعة قبل محدد التوجيه. سيتم ملء الأحرف غير المستخدمة بمسافات.

على سبيل المثال ، الكتابة printf "٪ s:٪ 5d \ n" "القيمة 1" 25 "القيمة 2" 120 سيخرج:

القيمة 1:25
القيمة 2: 120

ال ٪ 5 د يشير محدد التنسيق في الإخراج إلى أن السلسلة المنسقة ستحتوي على خمسة أحرف على الأقل. نظرًا لأن الرقم 25 يتكون من رقمين فقط ، يتم إضافة مسافات إلى الأحرف المتبقية.

إذا قمت بتمرير رقم سالب كعرض ، فسيكون التوجيه مضبوطًا إلى اليسار بدلاً من ضبطه لليمين.

$ printf "٪ -10s:٪ d" "الدوائر" 25 "مربعات" 120
الدوائر: 25 صندوقًا: 120

إذا كنت تريد عمل متغير العرض ، فيمكنك تمرير علامة النجمة بدلاً من رقم ، وسيستخدم printf الرقم التالي الذي يجده في قائمة الوسائط.

$ printf "٪ * s:٪ d" -10 "الدوائر" 25-10 "مربعات" 120
الدوائر: 25 صندوقًا: 120

متعلق ب: كل ما تحتاج لمعرفته حول Bash For Loops في Linux

تعلم أمر Linux printf

باستخدام الأمر printf في حزام الأداة المساعدة Bash scripting ، فأنت جاهز لبدء طباعة سلاسل معقدة ومتنوعة في جهازك. أثناء قيامك بتطوير برامج Bash النصية الخاصة بك ، من المهم التأكد من أنك تعمل في أكثر بيئة إنتاجية ممكنة. لن يؤدي ذلك إلى تحسين مهارات سطر الأوامر فحسب ، بل سيعزز أيضًا سير عملك بشكل عام.

بريد إلكتروني
أفضل 10 توزيعات Linux للمطورين

هل أنت جاهز لبدء التطوير على نظام تشغيل مفتوح المصدر؟ فيما يلي أفضل توزيعات Linux للبرمجة.

اقرأ التالي

مواضيع ذات صلة
  • لينكس
  • لينكس باش شل
  • أوامر لينكس
عن المؤلف
جوردان جلور (32 مقالة منشورة)

جوردان مدرس وصحفي شغوف بجعل نظام Linux متاحًا وخاليًا من الإجهاد للجميع. لديه بكالوريوس في اللغة الإنجليزية وشيء للشاي الساخن. خلال المواسم الدافئة ، يستمتع بركوب الدراجات في تلال أوزاركس حيث يعيش.

المزيد من Jordan Gloor

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.