यदि आप अच्छे समय के लिए बैश शेल का उपयोग कर रहे हैं, तो आप शायद जानते हैं कि इको कमांड का उपयोग करके लिनक्स टर्मिनल में स्ट्रिंग्स को कैसे प्रिंट किया जाए। हालाँकि, Printf कमांड विशिष्ट स्वरूपण के साथ मुद्रण पाठ को बहुत आसान बनाता है।
आज हम सीखेंगे कि अपने बैश स्क्रिप्टिंग कौशल को बढ़ाने के लिए प्रिंटफ फ़ंक्शन का उपयोग कैसे करें।
बैश प्रिंटफ फंक्शन क्या है?
जैसा कि नाम से पता चलता है, प्रिंटफ एक ऐसा फ़ंक्शन है जो टेक्स्ट के स्वरूपित स्ट्रिंग्स को प्रिंट करता है। इसका मतलब है कि आप एक स्ट्रिंग संरचना (प्रारूप) लिख सकते हैं और बाद में इसे मूल्यों (तर्कों) से भर सकते हैं।
यदि आप C/C++ प्रोग्रामिंग भाषाओं से परिचित हैं, तो आप पहले से ही जानते होंगे कि Printf कैसे काम करता है। बैश शेल में Printf बहुत समान है, लेकिन इसमें कुछ छोटे अंतर हैं।
और अधिक जानें: सी++ प्रोग्रामिंग के साथ आरंभ करने के लिए सर्वश्रेष्ठ साइटें
बैश शेल में प्रिंटफ का उपयोग कैसे करें
Printf के लिए मूल सिंटैक्स है:
printf format [argument]
Printf प्रिंट करेगा प्रारूप लागू करते समय स्ट्रिंग लीक ( ) तथा निर्देशों ( % ) निर्दिष्ट . के उपयोग के माध्यम से बहस . निम्न आदेश के आउटपुट पर ध्यान दें:
$ printf 'Hello, %s' world
Hello, world
Printf ने ले लिया दुनिया तर्क और बदल दिया %एस इसके साथ निर्दिष्ट स्ट्रिंग में वर्ण।
आप देख सकते हैं कि आउटपुट के बाद, बैश आपके लिए कोई नई लाइन नहीं बनाता है। इको कमांड के विपरीत, प्रिंटफ यह नहीं मानेगा कि आउटपुट प्रिंट होने के बाद आप एक नई लाइन चाहते हैं। इस प्रकार, आपको नए लाइन कैरेक्टर का उपयोग करना होगा एन प्रत्येक उदाहरण में।
एक स्ट्रिंग प्रिंट करने के लिए और फिर एक नई लाइन पर जाने के लिए, टाइप करें प्रिंटफ 'नमस्कार, दुनिया ' .
Hello, world
यह ध्यान रखना महत्वपूर्ण है कि प्रिंटफ आपके सभी तर्कों के प्रारूप का पुन: उपयोग करने का प्रयास करेगा। आप इसे अपने लाभ के लिए उपयोग कर सकते हैं, लेकिन यदि आप सावधान नहीं हैं, तो आप इस तरह के परिणाम प्राप्त कर सकते हैं:
$ printf 'My name is %s ' Jordan Gloor
My name is Jordan My name is Gloor
आपको यह भी पता होना चाहिए कि यदि कोई तर्क गुम है, तो प्रिंटफ किसी भी निर्देश की व्याख्या इस प्रकार करेगा 0 (एक संख्या के लिए) और शून्य (एक स्ट्रिंग के लिए)।
$ printf 'Hello, %s.'
Hello, .
अब जब आप जानते हैं कि लिनक्स में प्रिंटफ के साथ बैश स्क्रिप्टिंग कैसे काम करती है, तो आप इसे अपने कमांड में उपयोग करना शुरू करने के लिए तैयार हैं।
लिनक्स बैश प्रिंटफ उदाहरण
Printf में कई प्रारूप विनिर्देशक हैं जिनका उपयोग आप अपनी स्क्रिप्ट में कर सकते हैं। लेकिन आज हम समारोह के लिए केवल कुछ सामान्य लोगों को ही शामिल करेंगे।
1. एक स्ट्रिंग के साथ आउटपुट स्वरूपित करें
टेक्स्ट के स्ट्रिंग्स के साथ आउटपुट को फॉर्मेट करने के लिए, का उपयोग करें %एस निर्देश।
$ printf '%s is one of the largest online %s.' MUO 'technology publications'
MUO is one of the largest online technology publications.
2. दशमलव के साथ आउटपुट स्ट्रिंग को प्रारूपित करें
एक पूर्णांक के साथ एक स्ट्रिंग को प्रारूपित करने के लिए, आप का उपयोग कर सकते हैं %डी एक हस्ताक्षरित दशमलव के लिए निर्देश।
$ printf 'MUO was founded in %d.' 2007
MUO was founded in 2007.
ध्यान दें कि यदि आप आउटपुट में एक अहस्ताक्षरित दशमलव का उपयोग करना चाहते हैं, तो आपको इसका उपयोग करना होगा % यू इसके बजाय निर्देश।
वाईफाई के जरिए एंड्रॉइड फोन कैसे हैक करें
सम्बंधित: लिनक्स में 'बैश' का क्या अर्थ है?
3. प्रिंटफ का उपयोग करके आउटपुट मैथ फ़ंक्शंस
प्रिंटफ कमांड के साथ गणित के कार्यों को प्रारूपित करना आसान है। बस अपनी अभिव्यक्ति को डबल कोष्ठक के अंदर रखें जैसे आप सामान्य रूप से बैश में करते हैं, और तर्क सूची में अभिव्यक्ति निर्दिष्ट करें।
$ printf '1 + 1 is %d' $((1+1))
1 + 1 is 2
4. हेक्साडेसिमल संख्याओं को प्रारूपित करें
यदि आपको एक हेक्साडेसिमल संख्या को प्रारूपित करने की आवश्यकता है, तो उपयोग करें % एक्स लोअरकेस और . के लिए % एक्स अपरकेस के लिए।
$ printf %X 1000
3E8C
5. प्रिंट तिथि और समय
वर्तमान तिथि और समय को प्रिंट करने के लिए, आप प्रिंटफ को के साथ जोड़ सकते हैं दिनांक आदेश दें और निम्नलिखित निर्देश पारित करें।
$ printf '%(%m-%d-%Y %H:%M:%S)T' $(date +%s)
03-26-2021 15:27:57
आप उपरोक्त आउटपुट में महीने, दिन, वर्ष, घंटे, मिनट और दूसरे के लिए प्रारूप विनिर्देशक देख सकते हैं।
6. यूनिकोड वर्णों के साथ स्ट्रिंग्स को प्रारूपित करें
यूनिकोड वर्णों को प्रिंटफ के साथ प्रिंट करने के लिए, का उपयोग करें u 16-बिट यूनिकोड के लिए बच और यू 32-बिट यूनिकोड के लिए।
उदाहरण के लिए, आप इसे प्रिंट कर सकते हैं कॉपीराइट निम्न आदेश के साथ प्रतीक:
$ printf 'u00A9'
©
7. आउटपुट में स्पेसिंग जोड़ें
आप निर्देश विनिर्देशक से पहले, मुद्रित वर्णों की न्यूनतम संख्या को परिभाषित करके रिक्ति के साथ अपने स्ट्रिंग्स को प्रारूपित कर सकते हैं। अप्रयुक्त वर्णों को रिक्त स्थान से भर दिया जाएगा।
उदाहरण के लिए, टाइपिंग प्रिंटफ '%s:%5d ' 'मान 1' 25 'मान 2' 120 आउटपुट होगा:
Value 1: 25
Value 2: 120
NS %5डी आउटपुट में प्रारूप विनिर्देशक दर्शाता है कि स्वरूपित स्ट्रिंग में कम से कम पांच वर्ण होंगे। चूंकि 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
सम्बंधित: लिनक्स में बैश फॉर लूप्स के बारे में आपको जो कुछ पता होना चाहिए
लिनक्स प्रिंटफ कमांड सीखना
अपने बैश स्क्रिप्टिंग यूटिलिटी बेल्ट में प्रिंटफ कमांड के साथ, आप अपने टर्मिनल में कॉम्प्लेक्स और अलग-अलग स्ट्रिंग्स को प्रिंट करना शुरू करने के लिए तैयार हैं। जैसा कि आप अपनी बैश स्क्रिप्ट विकसित कर रहे हैं, यह सुनिश्चित करना महत्वपूर्ण है कि आप सबसे अधिक उत्पादक वातावरण में काम कर रहे हैं। यह न केवल आपके कमांड-लाइन कौशल में सुधार करेगा बल्कि सामान्य रूप से आपके वर्कफ़्लो को भी बढ़ाएगा।
साझा करना साझा करना कलरव ईमेल डेवलपर्स के लिए 10 सर्वश्रेष्ठ लिनक्स डिस्ट्रोसओपन सोर्स ऑपरेटिंग सिस्टम पर विकास शुरू करने के लिए तैयार हैं? प्रोग्रामिंग के लिए यहां सबसे अच्छे लिनक्स डिस्ट्रो हैं।
फ़ायरवॉल विंडोज़ 10 के माध्यम से प्रोग्राम को कैसे अनुमति दें?आगे पढ़िए संबंधित विषय
- लिनक्स
- लिनक्स बैश शेल
- लिनक्स कमांड
जॉर्डन MUO में एक कर्मचारी लेखक हैं, जो सभी के लिए Linux को सुलभ और तनाव-मुक्त बनाने का शौक रखते हैं। वह गोपनीयता और उत्पादकता पर गाइड भी लिखता है।
जॉर्डन ग्लोर . की अन्य फ़िल्में-टीवी शोहमारे न्यूज़लेटर की सदस्यता लें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
सब्सक्राइब करने के लिए यहां क्लिक करें