यदि आप बैश शेल का उपयोग सभ्य समय के लिए कर रहे हैं, तो आप शायद इको कमांड का उपयोग करके लिनक्स टर्मिनल में स्ट्रिंग्स को प्रिंट करना जानते हैं। हालाँकि, printf कमांड विशिष्ट स्वरूपण के साथ मुद्रण पाठ को बहुत आसान बनाता है।
आज हम सीखेंगे कि अपने बैश स्क्रिप्टिंग कौशल को बढ़ाने के लिए प्रिंटफ फ़ंक्शन का उपयोग कैसे करें।
बैश प्रिंटफ फंक्शन क्या है?
जैसा कि नाम से पता चलता है, प्रिंटफ़ एक ऐसा कार्य है जो पाठ के स्ट्रिंग्स स्वरूपित करता है। इसका मतलब है कि आप एक स्ट्रिंग संरचना (प्रारूप) लिख सकते हैं और बाद में इसे मानों (तर्कों) के साथ भर सकते हैं।
यदि आप C / C ++ प्रोग्रामिंग भाषाओं से परिचित हैं, तो आप पहले से ही जान सकते हैं कि प्रिंटफ कैसे काम करता है। बैश शेल में प्रिंटफ़ बहुत समान है, लेकिन इसमें कुछ छोटे अंतर हैं।
और अधिक जानें: सी ++ प्रोग्रामिंग के साथ आरंभ करने के लिए सर्वश्रेष्ठ साइटें
बैश शेल में प्रिंटफ का उपयोग कैसे करें
Printf के लिए मूल सिंटैक्स है:
प्रिंटफ प्रारूप [तर्क]
प्रिंटफ प्रिंट होगा प्रारूप लागू करते समय स्ट्रिंग पलायन (\) तथा निर्देशों (%) निर्दिष्ट के उपयोग के माध्यम से बहस. निम्नलिखित कमांड के आउटपुट पर ध्यान दें:
$ प्रिंटफ "हैलो,% s" दुनिया
नमस्ते दुनिया
प्रिंटफ ने लिया विश्व तर्क और प्रतिस्थापित किया गया % s इसके साथ निर्दिष्ट स्ट्रिंग में चरित्र।
आप देख सकते हैं कि आउटपुट के बाद, बैश आपके लिए एक नई लाइन नहीं बनाता है। इको कमांड के विपरीत, आउटपुट प्रिंट होने के बाद प्रिंटफ आपको यह नहीं समझाएगा कि आप एक नई लाइन चाहते हैं। इस प्रकार, आपको नई पंक्ति वर्ण का उपयोग करने की आवश्यकता होगी \ n प्रत्येक उदाहरण में।
एक स्ट्रिंग प्रिंट करने के लिए और फिर एक नई लाइन पर जाएं, टाइप करें प्रिंटफ "हैलो, वर्ल्ड \ n".
नमस्ते दुनिया
यह ध्यान रखना महत्वपूर्ण है कि प्रिंटफ आपके सभी तर्कों के प्रारूप का पुन: उपयोग करने का प्रयास करेगा। आप इसे अपने लाभ के लिए उपयोग कर सकते हैं, लेकिन यदि आप सावधान नहीं हैं, तो आप इस तरह से परिणाम प्राप्त कर सकते हैं:
$ प्रिंटफ "मेरा नाम% s" जॉर्डन ग्लोर है
मेरा नाम जॉर्डन है मेरा नाम ग्लोर है
आपको यह भी पता होना चाहिए कि यदि कोई तर्क गायब है, तो प्रिंटफ किसी भी निर्देश की व्याख्या करेगा 0 (एक संख्या के लिए) और अमान्य (एक तार के लिए)।
$ प्रिंटफ "हैलो,% s।"
नमस्ते, ।
अब जब आप जानते हैं कि लिनक्स में प्रिंट के साथ बैश स्क्रिप्टिंग कैसे काम करती है, तो आप इसे अपने आदेशों में उपयोग करना शुरू करने के लिए तैयार हैं।
लिनक्स बैश प्रिंटफ उदाहरण
Printf में कई प्रारूप विनिर्देश हैं जो आप अपनी स्क्रिप्ट में उपयोग कर सकते हैं। लेकिन आज हम केवल समारोह के लिए कुछ सामान्य लोगों को कवर करेंगे।
1. एक स्ट्रिंग के साथ प्रारूप आउटपुट
पाठ के तारों के साथ आउटपुट को प्रारूपित करने के लिए, का उपयोग करें % s निर्देशन।
$ printf "% s सबसे बड़े ऑनलाइन% s में से एक है।" MUO "प्रौद्योगिकी प्रकाशन"
MUO सबसे बड़े ऑनलाइन प्रौद्योगिकी प्रकाशनों में से एक है।
2. दशमलव के साथ आउटपुट आउटपुट स्ट्रिंग
पूर्णांक के साथ एक स्ट्रिंग को प्रारूपित करने के लिए, आप उपयोग कर सकते हैं % d एक हस्ताक्षरित दशमलव के लिए निर्देश।
$ प्रिंटफ "MUO की स्थापना% d में हुई।" 2007
MUO की स्थापना 2007 में हुई थी।
ध्यान दें कि यदि आप आउटपुट में अहस्ताक्षरित दशमलव का उपयोग करना चाहते हैं, तो आपको इसका उपयोग करना होगा % यू इसके बजाय निर्देश दें।
सम्बंधित: लिनक्स में "बैश" का क्या अर्थ है?
3. प्रिंट का उपयोग करके आउटपुट मैथ फ़ंक्शंस
प्रिंटफ कमांड के साथ गणित कार्यों को प्रारूपित करना आसान है। बस अपनी अभिव्यक्ति को डबल कोष्ठक के अंदर रखें जैसे आप सामान्य रूप से बैश में करते हैं, और अभिव्यक्ति को तर्क सूची में निर्दिष्ट करते हैं।
$ printf "1 + 1% d" $ ((1 + 1))
1 + 1 2 है
4. हेक्साडेसिमल नंबरों को प्रारूपित करें
यदि आपको हेक्साडेसिमल संख्या को प्रारूपित करने की आवश्यकता है, तो उपयोग करें %एक्स लोअरकेस के लिए और %एक्स अपरकेस के लिए।
$ Printf% X 1000
3 ई 8 सी
5. प्रिंट की तारीख और समय
वर्तमान दिनांक और समय को प्रिंट करने के लिए, आप प्रिंटफ के साथ संयोजन कर सकते हैं दिनांक कमांड और निम्नलिखित निर्देश पारित करें।
$ प्रिंटफ़ "% (% m-% d-% Y% H:% M:% S) T" $ (दिनांक +%%)
03-26-2021 15:27:57
आप उपर्युक्त आउटपुट में महीने, दिन, वर्ष, घंटे, मिनट और दूसरे के लिए प्रारूप विनिर्देशक देख सकते हैं।
6. यूनिकोड वर्ण के साथ स्ट्रिंग्स को प्रारूपित करें
प्रिंट के साथ यूनिकोड वर्णों को मुद्रित करने के लिए, का उपयोग करें \ u 16-बिट यूनिकोड के लिए और \ U 32-बिट यूनिकोड के लिए।
उदाहरण के लिए, आप प्रिंट कर सकते हैं कॉपीराइट निम्नलिखित आदेश के साथ प्रतीक:
$ प्रिंटफ "\ u00A9"
©
7. आउटपुट में रिक्ति जोड़ें
आप अपने स्ट्रिंग्स को डिफाइन करके स्पेसिंग के साथ फॉर्मेट कर सकते हैं, डायरेक्टिव स्पेसियर से पहले, कम से कम छपे हुए कैरेक्टर्स। अप्रयुक्त वर्ण रिक्त स्थान से भरे होंगे।
उदाहरण के लिए, टाइपिंग Printf "% s:% 5d \ n" "मूल्य 1" 25 "मान 2" 120 उत्पादन होगा:
मान 1: 25
मान 2: 120
% 5 डी प्रारूप आउटपुट में निर्दिष्ट करता है कि स्वरूपित स्ट्रिंग में न्यूनतम पाँच वर्ण होंगे। चूंकि 25 में केवल दो अंक होते हैं, इसलिए शेष वर्णों के लिए स्थान जोड़े जाते हैं।
यदि आप एक ऋणात्मक संख्या को चौड़ाई के रूप में पास करते हैं, तो निर्देश को दाएं-न्यायोचित के बजाय छोड़ दिया जाएगा।
$ printf "% -10 s:% d" "मंडलियां" 25 "बक्से" 120
मंडलियां: 25 बक्से: 120
यदि आप चौड़ाई को परिवर्तनशील बनाना चाहते हैं, तो आप एक संख्या के बजाय एक तारांकन पास कर सकते हैं, और प्रिंटफ अगली संख्या का उपयोग तर्क सूची में मिलेगा।
$ printf "% * s:% d" -10 "मंडलियां" 25 -10 "बक्से" 120
मंडलियां: 25 बक्से: 120
सम्बंधित: सब कुछ आपको लिनक्स में बैश फॉर लूप के बारे में जानना होगा
लिनक्स प्रिंटफ कमांड सीखना
अपने बैश स्क्रिप्टिंग उपयोगिता बेल्ट में प्रिंटफ कमांड के साथ, आप अपने टर्मिनल में जटिल और अलग-अलग स्ट्रिंग्स को प्रिंट करना शुरू करने के लिए तैयार हैं। जैसा कि आप अपनी बैश स्क्रिप्ट विकसित कर रहे हैं, यह सुनिश्चित करना महत्वपूर्ण है कि आप सबसे अधिक उत्पादक वातावरण में काम कर रहे हैं। यह न केवल आपके कमांड-लाइन कौशल में सुधार करेगा, बल्कि सामान्य रूप से आपके वर्कफ़्लो को भी बढ़ाएगा।
एक ओपन सोर्स ऑपरेटिंग सिस्टम पर विकास शुरू करने के लिए तैयार हैं? यहां प्रोग्रामिंग के लिए सबसे अच्छा लिनक्स डिस्ट्रोस हैं।
आगे पढ़िए
- लिनक्स
- लिनक्स बैश शैल
- लिनक्स कमांड्स
जॉर्डन एक ट्यूटर और पत्रकार है, जो हर किसी के लिए लिनक्स को सुलभ और तनाव मुक्त बनाने का शौक रखता है। उसके पास अंग्रेजी में बीए और गर्म चाय के लिए एक चीज़ है। गर्म मौसम के दौरान, वह ओजार्क्स की पहाड़ियों पर साइकिल चलाने का आनंद लेता है, जहां वह रहता है।
हमारे न्युजलेटर की सदस्यता प्राप्त करें
टेक टिप्स, रिव्यू, फ्री ईबुक और एक्सक्लूसिव डील्स के लिए हमारे न्यूज़लेटर से जुड़ें!
एक और क़दम…!
कृपया हमें आपके द्वारा भेजे गए ईमेल में अपने ईमेल पते की पुष्टि करें।