Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

Linux 'tr' कमांड में मास्टरी: कार्य, सिंटैक्स और व्यावहारिक उपयोग

Linux में tr (translate) कमांड standard input से टेक्स्ट पढ़ता है, टेक्स्ट में कुछ संशोधन करता है, और फिर इसे standard output पर भेजता है। यह लेख बताता है और दिखाता है कि आप इसका क्यों और कैसे उपयोग कर सकते हैं।

tr कमांड सिंटैक्स

कमांड का उपयोग करने के लिए आपको जिस सिंटैक्स की आवश्यकता होगी वह यहाँ है:

tr OPTIONS SET1 [SET2]

ध्यान दें कि:

  • OPTIONS नीचे दी गई तालिका से विकल्पों की सूची होनी चाहिए
  • SET1 में कैरेक्टर्स को SET2 में संबंधित स्थिति में कैरेक्टर्स से बदला जाएगा
    • ये वैकल्पिक हैं – कुछ OPTIONS अनुवाद करने में सक्षम हैं, इसलिए दोनों SETs आवश्यक नहीं हैं।
  • आप प्रोसेस किए जा रहे टेक्स्ट की कमी देखेंगे – यह मानक रीडायरेक्शन का उपयोग करके सप्लाई किया जाता है – नीचे दिए गए उदाहरणों में इस पर अधिक।

यहाँ उपलब्ध OPTIONS हैं – सीधे यूजर मैनुअल से:

OPTIONS
-c SET1 के पूरक का उपयोग करें
-d SET1 में कैरेक्टर्स हटाएं, अनुवाद न करें
-s अंतिम निर्दिष्ट SET में सूचीबद्ध दोहराए गए कैरेक्टर के प्रत्येक अनुक्रम को उस कैरेक्टर की एकल घटना से बदलें
-t पहले, SET1 को SET2 की लंबाई तक छोटा करें

यदि आपको SETs में नई लाइन और टैब जैसे विशेष कैरेक्टर्स को बदलने या हटाने की आवश्यकता है, तो आप निम्न अनुक्रमों का उपयोग कर सकते हैं:

व्याख्या किया गया अनुक्रम विशेष कैरेक्टर
\NNN ऑक्टल मान NNN वाला कैरेक्टर (1 से 3 ऑक्टल अंक)
\\ बैकस्लैश
\b बैकस्पेस
\n नई लाइन
\r रिटर्न
\t हॉरिजॉन्टल टैब
[:alnum:] सभी अक्षर और अंक
[:alpha:] सभी अक्षर
[:blank:] सभी हॉरिजॉन्टल व्हाइटस्पेस
[:digit:] सभी अंक
[:lower:] सभी लोअरकेस अक्षर
[:space:] सभी हॉरिजॉन्टल या वर्टिकल व्हाइटस्पेस
[:upper:] सभी अपरकेस अक्षर

मैंने ऊपर केवल कुछ आमतौर पर उपयोग किए जाने वाले विकल्प/अनुक्रम शामिल किए हैं (क्योंकि काफी कुछ हैं)। आप कमांड विकल्पों की पूरी सूची यूजर मैनुअल में देख सकते हैं, जिसे चलाकर पाया जा सकता है:

man tr

tr कमांड उदाहरण

यहाँ tr कमांड का उपयोग करने के कुछ उदाहरण हैं।

ये केवल उदाहरण हैं; आप अपने वांछित परिणाम प्राप्त करने के लिए विकल्पों और अनुक्रमों को मिक्स-एंड-मैच कर सकते हैं।

कैरेक्टर्स हटाना

नीचे का उदाहरण एक स्ट्रिंग से निर्दिष्ट कैरेक्टर्स को हटाता है। echo कमांड का आउटपुट पाइप किया जाता है tr कमांड को।

यही तरीका है जिससे tr कमांड को वह टेक्स्ट मिलता है जिसे आप अनुवाद करना चाहते हैं – इसे पाइपिंग या रीडायरेक्शन के माध्यम से standard input के रूप में सप्लाई किया जाना चाहिए।

echo "axbxcxdx" | tr -d 'x'

ऊपर, -d विकल्प tr को echo कमांड के आउटपुट से कैरेक्टर x को हटाने का निर्देश देता है।

यह वापस करेगा:

abcd 

लोअरकेस से अपरकेस

नीचे का उदाहरण अपर/लोअर व्याख्या किए गए अनुक्रमों का उपयोग करके सभी लोअरकेस कैरेक्टर्स को अपरकेस कैरेक्टर्स से बदलता है:

echo "aBcDeFg" | tr '[:lower:]' '[:upper:]'

यह आउटपुट देगा:

ABCDEFG 

कैरेक्टर्स बदलना

tr शायद सबसे अधिक स्ट्रिंग में कैरेक्टर्स को बदलने के लिए उपयोग किया जाता है – उदाहरण के लिए, व्हाइटस्पेस को डैश से बदलना:

echo "frogs and fish" | tr '[:blank:]' '-'

जो आउटपुट देगा:

frogs-and-fish 

यह उदाहरण दो SETs का उपयोग करता है – पहला सेट व्हाइट/ब्लैंक स्पेस (यानी स्पेस टैब्स) के लिए पहचानकर्ता रखता है, दूसरा डैश रखता है – इसलिए व्हाइटस्पेस को डैश से बदल दिया जाता है (SET2 SET1 को बदल रहा है)।

यह वेबसाइट पर अपलोड के लिए फ़ाइल नाम जनरेट करते समय उपयोगी हो सकता है और यह सुनिश्चित करने के लिए कि उन फ़ाइल नामों में कोई स्पेस नहीं है।

एकाधिक कैरेक्टर्स बदलना

पिछले उदाहरण में, प्रत्येक सेट में केवल एक कैरेक्टर होता है। एक साथ कई प्रतिस्थापन करने के लिए कई कैरेक्टर्स सप्लाई किए जा सकते हैं:

echo "frogs and fish" | tr 'sf' 'SF'

जो आउटपुट देगा:

FrogS and FiSh 

जैसा कि आप देख सकते हैं, पहले में संबंधित अक्षरों को दूसरे से बदल दिया गया था।

दोहराए गए कैरेक्टर्स हटाना

नीचे, टेक्स्ट से अनावश्यक दोहराए गए व्हाइटस्पेस को हटाया जाता है:

echo 'Absolutely spaced out' | tr -s '[:space:]'

जो आउटपुट देगा:

Absolutely spaced out 

[:blank:] पहचानकर्ता का उपयोग -s विकल्प के साथ दोहराए गए व्हाइटस्पेस की पहचान करने और हटाने के लिए किया गया था।

  1. लिनक्स में  echo  कमांड का उपयोग कैसे करें लिनक्स में 'echo' कमांड का उपयोग कैसे करें

    चाहे आप लिनक्स में पूरी तरह से नए हों या लंबे समय से लिनक्स डेस्कटॉप का उपयोग कर रहे हों, कुछ कमांड्स ऐसी हैं जो समझ में नहीं आ सकतीं। यह विशेष रूप से सच है यदि आप कभी कमांड लाइन में गोता नहीं लगाते, जहां लिनक्स और अन्य यूनिक्स-जैसे ऑपरेटिंग सिस्टम की असली शक्ति निहित है। इनमें से एक है वेटरन echo क

  1. लिनक्स में tee कमांड का उपयोग कैसे करें लिनक्स में tee कमांड का उपयोग कैसे करें

    यदि आप कभी अपने लिनक्स शेल के तहत पाइप और रीडायरेक्शन का उपयोग करते हैं, तो संभावना है कि आपको कभी-कभी tee यूटिलिटी का उपयोग करने की भी आवश्यकता होगी। tee क्या करता है? ls जैसी कमांड आपके वर्तमान डायरेक्टरी की सामग्री प्रदर्शित करेगी। दूसरे शब्दों में, यह इन सामग्री को stdout (स्टैंडर्ड आउटपुट) पर प

  1. Linux Watch कमांड में मास्टरी: सिंटैक्स, विकल्प और व्यावहारिक उदाहरण Linux Watch कमांड में मास्टरी: सिंटैक्स, विकल्प और व्यावहारिक उदाहरण

    Linux में watch कमांड एक काम करता है – एक कमांड को दोहराता है और परिणाम को बार-बार आउटपुट करता है, जिससे आप परिवर्तनों को देख सकते हैं। यहाँ इसका उपयोग कैसे करें। watch कमांड सिंटैक्स watch कमांड का सिंटैक्स इस प्रकार है: watch OPTIONS COMMAND ध्यान दें कि: OPTIONS नीचे दी गई तालिका से विकल्पों की