tr (tr anslate) Linux में कमांड मानक इनपुट . से पाठ पढ़ता है , टेक्स्ट में कुछ संशोधन करता है, और फिर उसे मानक आउटपुट . पर भेजता है . यह लेख बताता है और दिखाता है कि आप इसका उपयोग क्यों और कैसे कर सकते हैं।
tr कमांड सिंटैक्स
यहाँ सिंटैक्स है जिसे आपको कमांड का उपयोग करने की आवश्यकता होगी:
tr OPTIONS SET1 [SET2]
ध्यान दें कि:
- विकल्प नीचे दी गई तालिका से विकल्पों की सूची होनी चाहिए
- SET1 में वर्ण SET2 . में संबंधित स्थिति में वर्णों से बदल दिया जाएगा
- ये वैकल्पिक हैं - कुछ विकल्प अनुवाद करने में सक्षम हैं, इसलिए दोनों SET आवश्यक रूप से आवश्यक नहीं हैं।
- आप देखेंगे कि टेक्स्ट संसाधित नहीं हो रहा है - यह मानक पुनर्निर्देशन का उपयोग करके प्रदान किया जाता है - नीचे दिए गए उदाहरणों में इस पर अधिक जानकारी दी गई है।
यहां उपलब्ध हैं विकल्प - सीधे उपयोगकर्ता पुस्तिका से:
विकल्प | |
---|---|
-c | SET1 के पूरक का उपयोग करें |
-d | SET1 में वर्ण हटाएं, अनुवाद न करें |
-s | पिछले निर्दिष्ट SET में सूचीबद्ध दोहराए गए वर्ण के प्रत्येक अनुक्रम को उस वर्ण की एकल आवृत्ति से बदलें |
-t | सबसे पहले, SET1 को SET2 की लंबाई तक छोटा करें |
यदि आपको SET में नई पंक्तियों और टैब जैसे विशेष वर्णों को बदलने या हटाने की आवश्यकता है, तो आप निम्न अनुक्रमों का उपयोग कर सकते हैं:
व्याख्या अनुक्रम | विशेष चरित्र |
---|---|
\NNN | अष्टाधारी मान NNN (1 से 3 अष्टक अंक) वाला वर्ण |
\\ | बैकस्लैश |
\b | बैकस्पेस |
\n | नई पंक्ति |
\r | वापसी |
\t | क्षैतिज टैब |
[:alnum:] | सभी अक्षर और अंक |
[:alpha:] | सभी अक्षर |
[:blank:] | सभी क्षैतिज खाली स्थान |
[:digit:] | सभी अंक |
[:lower:] | सभी छोटे अक्षर |
[:space:] | सभी क्षैतिज या लंबवत व्हाइटस्पेस |
[:ऊपरी:] | सभी बड़े अक्षर |
मैंने ऊपर केवल कुछ सामान्य रूप से उपयोग किए जाने वाले विकल्पों/अनुक्रमों को शामिल किया है (क्योंकि काफी कुछ हैं) . आप उपयोगकर्ता मैनुअल में कमांड विकल्पों की पूरी सूची देख सकते हैं, जिन्हें चलाकर पाया जा सकता है:
man tr
tr कमांड उदाहरण
यहां कुछ उदाहरण दिए गए हैं कि tr . का उपयोग कैसे करें आदेश।
ये तो उदाहरण मात्र हैं; आप अपने वांछित परिणाम प्राप्त करने के लिए विकल्पों और अनुक्रमों को मिला सकते हैं।
वर्णों को हटाना
नीचे दिया गया उदाहरण एक स्ट्रिंग से निर्दिष्ट वर्णों को हटा देता है। गूंज . का आउटपुट आदेश पाइप किया गया . है करने के लिए tr आदेश।
इस प्रकार tr कमांड को वह पाठ प्राप्त होता है जिसका आप अनुवाद करना चाहते हैं - इसे पाइपिंग या पुनर्निर्देशन के माध्यम से मानक इनपुट के रूप में आपूर्ति की जानी चाहिए ।
echo "axbxcxdx" | tr -d 'x'
ऊपर, -d विकल्प निर्देश tr वर्ण मिटाने के लिए x गूंज . के आउटपुट से आदेश।
यह वापस आ जाएगा:
abcd
लोअरकेस से अपरकेस तक
नीचे दिया गया उदाहरण सभी लोअरकेस वर्णों को अपरकेस वर्णों से बदलने के लिए ऊपरी/निचले व्याख्या किए गए अनुक्रमों का उपयोग करता है:
echo "aBcDeFg" | tr '[:lower:]' '[:upper:]'
यह आउटपुट करेगा:
ABCDEFG
वर्ण बदलें
tr स्ट्रिंग में वर्णों को बदलने के लिए शायद सबसे अधिक उपयोग किया जाता है - उदाहरण के लिए, व्हाइटस्पेस को डैश से बदलना:
echo "frogs and fish" | tr '[:blank:]' '-'
जो आउटपुट करेगा:
frogs-and-fish
यह उदाहरण दो SET का उपयोग करता है - पहले सेट में सफेद/रिक्त स्थान (यानी, रिक्त स्थान टैब) के लिए पहचानकर्ता होता है, दूसरे में डैश होता है - इसलिए व्हाइटस्पेस को डैश से बदल दिया जाता है (SET2 की जगह SET1)।
यह तब उपयोगी हो सकता है जब किसी वेबसाइट पर अपलोड करने के लिए फ़ाइल नाम जेनरेट करते हैं और यह सुनिश्चित करते हैं कि उन फ़ाइल नामों में कोई स्थान नहीं है।
एकाधिक वर्णों को बदलना
अंतिम उदाहरण में, प्रत्येक सेट में केवल एक वर्ण होता है। एक साथ कई प्रतिस्थापन करने के लिए एकाधिक वर्णों की आपूर्ति की जा सकती है:
echo "frogs and fish" | tr 'sf' 'SF'
जो आउटपुट करेगा:
frogs-and-fish
जैसा कि आप देख सकते हैं, पहले में संबंधित अक्षरों को दूसरे से प्रतिस्थापित किया गया था।
दोहराए गए वर्णों को हटाना
नीचे, कुछ पाठ से अनावश्यक बार-बार रिक्त स्थान हटा दिया गया है:
echo 'Absolutely spaced out' | tr -s '[:space:]'
जो आउटपुट करेगा:
Absolutely spaced out
[:blank:] पहचानकर्ता का उपयोग -s . के साथ किया गया था दोहराए जाने वाले खाली स्थान को पहचानने और हटाने का विकल्प।