Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

उदाहरण के साथ Linux tr कमांड

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

लिनक्स बुनियादी कर्नेल/ऑपरेटिंग सिस्टम कोर है, जिसका उपयोग हम दिन-प्रतिदिन के आधार पर करते हैं, जिसमें एंड्रॉइड भी शामिल है - हम में से कई लोगों के पास हमारे मोबाइल फोन पर प्लेटफॉर्म होगा। यह खुला स्रोत है और आसानी से विन्यास योग्य है।

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

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

tr OPTION... SET1 [SET2]

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

उदाहरण

वर्णों की श्रेणी का उपयोग करना

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

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

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

कन्वर्ट केस

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

[:निचला:] सभी लोअर केस वर्णों से मेल खाता है, और [:अपर:] सभी बड़े अक्षरों से मेल खाता है।

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

रिक्त रेखाएं हटाएं

रिक्त पंक्तियों को हटाने के लिए, आपको "निचोड़ . करना होगा दोहराए जाने वाले न्यूलाइन वर्ण:

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

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

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

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

echo "The account number is 10879358" | tr -cd [: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

अक्षर बदलें

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

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, और z . को हटा देगा वर्ण:

echo 'Linuxize' | tr -d 'liz'

  1. एमवी कमांड के साथ लिनक्स फाइलों को कैसे स्थानांतरित करें

    जबकि आप संभवतः पहले से ही जानते हैं कि GUI फ़ाइल ब्राउज़र का उपयोग करके Linux में किसी फ़ाइल को कैसे स्थानांतरित किया जाता है, आप सोच रहे होंगे कि क्या टर्मिनल में कोई मूव कमांड है जो आपको फ़ाइलों को विभिन्न निर्देशिकाओं में त्वरित रूप से स्थानांतरित करने की अनुमति देता है। mv कमांड वह है जिसे आप चा

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

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

  1. उदाहरण के साथ, लिनक्स में वॉच कमांड का उपयोग कैसे करें

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