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

Linux tr कमांड में महारत हासिल करें: व्यावहारिक उदाहरण और उपयोग के मामले

Linux और Unix सिस्टम में, tr एक कमांड-लाइन उपयोगिता है जो अनुवाद करती है, मिटाती है, और दोहराए गए वर्णों को “निचोड़ती” है – वास्तव में, tr का अर्थ “translate” है। यह गाइड उदाहरणों के साथ Linux में tr कमांड का उपयोग कैसे करें, बताता है। इसका उपयोग दोहराए गए वर्णों को हटाने, लोअरकेस को अपरकेस में बदलने, और वर्णों को बुनियादी रूप से बदलने और हटाने जैसे संचालन के लिए किया जा सकता है। इसका उपयोग अक्सर पाइपिंग के माध्यम से अन्य कमांड के साथ संयोजन में किया जाता है।

Linux हमारे द्वारा दैनिक आधार पर उपयोग की जाने वाली अधिकांश तकनीक के पीछे मूल कर्नेल/ऑपरेटिंग सिस्टम कोर है, जिसमें Android शामिल है – वह प्लेटफॉर्म जो हम में से कई के मोबाइल फोन पर होगा। यह ओपन-सोर्स है और आसानी से कॉन्फ़िगर करने योग्य है।

tr कमांड का उपयोग कैसे करें

tr कमांड चलाने का सिंटैक्स निम्नानुसार है, जहां SET1 में वर्णों को SET2 में वर्णों में अनुवादित किया जाता है:

tr OPTION... SET1 [SET2]

tr कमांड वर्णों के दो सेट स्वीकार करता है (आमतौर पर समान लंबाई)। यह फिर पहले सेट के वर्णों को दूसरे सेट के संबंधित वर्णों से बदल देता है। इस परिदृश्य में, एक SET वर्णों की एक स्ट्रिंग है और इसमें विशेष बैकस्लैश-एस्केप्ड वर्ण शामिल हैं।

उदाहरण

वर्णों की एक श्रृंखला का उपयोग करना

यदि आप चाहें तो वर्ण वर्गों के बजाय श्रृंखलाओं का भी उपयोग कर सकते हैं:

echo 'hello' | tr 'a-z' 'A-Z'

दूसरी तरफ बदलने के लिए, बस सेट के स्थानों को स्विच करें।

केस बदलें

अपरकेस को लोअरकेस में या इसके विपरीत बदलना tr कमांड के सबसे सामान्य उपयोग के मामलों में से एक है।

[:lower:] सभी लोअरकेस वर्णों से मेल खाता है, और [:upper:] सभी अपरकेस वर्णों से मेल खाता है।

echo 'Hello' | tr '[:lower:]' '[:upper:]' HELLO

खाली लाइनें हटाएं

खाली लाइनों को हटाने के लिए, आपको दोहराए गए न्यूलाइन वर्णों को “निचोड़ना” होगा:

tr -s '\n' < input.txt > output.txt

ऊपर, हम रीडायरेक्शन प्रतीक का उपयोग कर रहे हैं, जो तब कमांड के आउटपुट को output.txt में लिखता है।

सभी गैर-संख्यात्मक वर्ण हटाएं

निम्न कमांड सभी गैर-संख्यात्मक वर्णों को हटा देता है:

echo "The account number is 10879358" | tr -cd [:digit:]

[:digit:] सभी अंक वर्णों के लिए खड़ा है। -c विकल्प का उपयोग करके, कमांड उन वर्णों को हटा देता है जो संख्यात्मक नहीं हैं। बाद का आउटपुट इस तरह दिखेगा:

10879358

$PATH निर्देशिकाओं को नई लाइन पर प्रिंट करें

$PATH पर्यावरण चर निर्देशिकाओं की एक सूची है (कॉलन द्वारा सीमांकित) जो शेल को बताती है कि जब आप कमांड टाइप करते हैं तो निष्पादन योग्य फ़ाइलों की तलाश में किन निर्देशिकाओं को देखना है। प्रत्येक निर्देशिका को एक अलग नई लाइन पर प्रिंट करने के लिए, हमें कॉलन (:) से मेल खाने और फिर इसे नई लाइन कमांड से बदलने की आवश्यकता है:

echo $PATH | tr ':' '\n' /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin 

प्रत्येक शब्द को नई लाइन पर रखें

ऐसा करने के लिए, हमें सभी वर्णों (जो अल्फा-न्यूमेरिक नहीं हैं) से मेल खाने और फिर उन्हें नई लाइन से बदलने की आवश्यकता है:

echo 'Linux is the best operating system in the world' | tr -cs '[:alnum:]'

आउटपुट है:

Linux is the best operating system in the world

वर्ण बदलें

यदि हम मानक इनपुट (‘coding’) से वर्णों को दूसरे सेट के संबंधित वर्णों से बदलना चाहते हैं।

echo 'coding' | tr 'co' 'hi'

“c” की प्रत्येक घटना को “h” से बदल दिया जाता है, और “o” को “i” से, परिणाम के साथ:

hiding

वर्ण सेट को वर्ण श्रृंखलाओं का उपयोग करके भी परिभाषित किया जा सकता है। उदाहरण के लिए, लिखने के बजाय:

echo 'coding' | tr 'abcd' 'wxyz'

आप उपयोग कर सकते हैं:

echo 'coding' | tr 'a-d' 'w-z' yozing

जब -c विकल्प का उपयोग किया जाता है, तो tr SET1 में नहीं होने वाले सभी वर्णों को बदल देता है।

निम्न उदाहरण में, “li” को छोड़कर सभी वर्णों को दूसरे सेट के अंतिम वर्ण से बदल दिया जाएगा:

$ echo 'coding' | tr -c 'cod' 'xy' liyyyiyyy

नई लाइन के बिना स्ट्रिंग को इको करने के लिए, -n विकल्प का उपयोग करें।

-d विकल्प tr को SET1 में निर्दिष्ट वर्णों को हटाने के लिए कहता है। जब आप इसे निचोड़े बिना करना चाहते हैं, तो आपको केवल एक सेट निर्दिष्ट करना चाहिए।

नीचे दी गई कमांड l, I, and z वर्णों को हटा देगी:

echo 'Linuxize' | tr -d 'liz'

  1. Mv कमांड के साथ लिनक्स फाइल कैसे मूव करें Mv कमांड के साथ लिनक्स फाइल कैसे मूव करें

    जबकि आप शायद पहले से ही जानते हैं कि GUI फाइल ब्राउज़र का उपयोग करके लिनक्स में फाइल कैसे मूव करें, आप सोच रहे होंगे कि क्या टर्मिनल में एक मूव कमांड है जो आपको फाइलों को अलग-अलग डायरेक्टरी में जल्दी से मूव करने की अनुमति देता है। mv कमांड वही है जो आप चाहते हैं, और इसके सरल सिंटैक्स और कुछ वैकल्पिक

  1. मास्टर लिनक्स कमांड चेनिंग: व्यावहारिक उदाहरणों के साथ 10 आवश्यक ऑपरेटर्स मास्टर लिनक्स कमांड चेनिंग: व्यावहारिक उदाहरणों के साथ 10 आवश्यक ऑपरेटर्स

    लिनक्स कमांड की चेनिंग का अर्थ है, कई कमांड को मिलाना और उन्हें उनके बीच उपयोग किए गए ऑपरेटर के व्यवहार के आधार पर निष्पादित करना। लिनक्स में कमांड की चेनिंग, कुछ ऐसा है जैसे आप शेल में ही छोटे शेल स्क्रिप्ट लिख रहे हों, और उन्हें सीधे टर्मिनल से निष्पादित कर रहे हों। चेनिंग प्रक्रिया को स्वचालित कर

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

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