टीआर (यूनिक्स)

From Vigyanwiki
tr
Original author(s)डगलस मैक्लेरॉय
(एटी एंड टी बेल प्रयोगशालाएँ)
Developer(s)विभिन्न मुक्त स्रोत और वाणिज्यिक डेवलपर्स
Initial releaseNovember 1973; 50 years ago (1973-11)
Written inC
Operating systemयूनिक्स, यूनिक्स-जैसे, योजना 9, इन्फर्नो, ओएस -9, एमएसएक्स-डॉस, आईबीएम आई
Platformक्रॉस-प्लेटफॉर्म
Typeकमांड
Licenseकोरुटिल्स: GPLv3+
Plan 9: एमआईटी लाइसेंस

tr यूनिक्स, प्लान 9, इन्फर्नो और यूनिक्स जैसे ऑपरेटिंग सिस्टम में एक कमांड है। यह अनुवाद या लिप्यंतरण का संक्षिप्त रूप है, जो इसके इनपुट डेटा सेट में विशिष्ट वर्णों को बदलने या हटाने के संचालन को दर्शाता है।

अवलोकन

उपयोगिता अपने मानक इनपुट से एक बाइट स्ट्रीम को पढ़ती है और परिणाम को मानक आउटपुट पर लिखती है। कमांड-लाइन तर्क के रूप में, यह वर्णों के दो सेट (सामान्यत: समान लंबाई के) लेता है, और पहले सेट में वर्णों की घटनाओं को दूसरे सेट से संबंधित तत्वों के साथ बदल देता है। उदाहरण के लिए,

tr 'abcd' 'jkmn'

सभी वर्णों को a से j, b से k, c से m, और d से n तक मैप करता है।

वर्ण श्रेणियों का उपयोग करके वर्ण सेट को संक्षिप्त किया जा सकता है। पिछला उदाहरण लिखा जा सकता है:

tr 'a-d' 'jkmn'

पीओएसएईएक्स-संगत संस्करणों में tr, वर्ण श्रेणी द्वारा दर्शाया गया सेट लोकेल (अभिकलित्र सॉफ़्टवेयर) लोकेल के संयोजन पर निर्भर करता है, इसलिए स्क्रिप्ट में वर्ण श्रेणियों से बचना अधिक सुरक्षित है, जिन्हें उस स्थान से भिन्न लोकेल में निष्पादित किया जा सकता है जिसमें वे लिखे गए थे। रेंज को अधिकांशत: पीओएसएईएक्स कैरेक्टर सेट जैसे [:alpha:] से बदला जा सकता है।

sफ्लैग कारण tr इसके आउटपुट में समान आसन्न वर्णों के अनुक्रमों को एक टोकन में संपीड़ित करना है। उदाहरण के लिए,

tr -s '\n'

एक या अधिक न्यूलाइन वर्णों के अनुक्रमों को एक ही न्यूलाइन से बदल देता है।

dफ्लैग के कारण tr इसके इनपुट से वर्णों के निर्दिष्ट सेट के सभी टोकन हटाने के लिए इस स्थिति में, केवल एकल वर्ण सेट तर्क का उपयोग किया जाता है। निम्न आदेश कैरिएज रिटर्न वर्णों को हटा देता है।

tr -d '\r'

cफ्लैग वर्णों के पहले सेट के पूरक को इंगित करता है। इन्वोकेशन

tr -cd '[:alnum:]'

इसलिए सभी गैर-अल्फ़ान्यूमेरिक वर्ण हटा देता है।

कार्यान्वयन

tr का मूल संस्करण डगलस मैक्लेरॉय द्वारा लिखा गया था और इसे संस्करण 4 यूनिक्स में पेश किया गया था।।[1] जीएनयू कोरुटिल्स में बंडल किए गए tr का संस्करण जिम मेयरिंग द्वारा लिखा गया था।[2] यह कमांड सामान्य जीएनयू यूनिक्स जैसी उपयोगिताओं के मूल (कम्प्यूटिंग) विंडोज़ एपीआई में पोर्टिंग के UnxUtils संग्रह के हिस्से के रूप में माइक्रोसॉफ़्ट विंडोज़ के लिए एक अलग पैकेज के रूप में उपलब्ध है।[3] यह ओएस-9 शेल में भी उपलब्ध है।[4] tr कमांड एमएसएक्स-डॉस संस्करण 2 के लिए एएससीआईआई निगम के एमएसएक्स-डॉस2 टूल्स का भी हिस्सा है।[5] tr कमांड को IBM i ऑपरेटिंग सिस्टम में भी पोर्ट किया गया है।[6] tr के अधिकांश संस्करण जीएनयू सहित tr और क्लासिक यूनिक्स tr, एकल-बाइट वर्णों पर काम करते हैं और यूनिकोड के अनुरूप नहीं हैं। एक अपवाद विरासत परियोजना कार्यान्वयन है, जो बुनियादी यूनिकोड समर्थन प्रदान करता है।

रूबी (प्रोग्रामिंग भाषा) और पर्ल में एक आंतरिक tr ऑपरेटर भी है, जो समान रूप से संचालित होता है।[7][8] टी.सी.एल का स्ट्रिंग मैप कमांड इस मायने में अधिक सामान्य है कि यह स्ट्रिंग्स को स्ट्रिंग्स में मैप करता है जबकि tr कैरेक्टर्स को कैरेक्टर्स में मैप करता है। रेफरी नाम = TCLManualPage>"टीसीएल बिल्ट-इन कमांड्स - स्ट्रिंग मैनुअल पेज". Retrieved 12 August 2015.</ref>

यह भी देखें

संदर्भ

  1. McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). Computing Science. AT&T Bell Laboratories. 139.
  2. "Tr(1): Translate/Delete char - Linux man page".
  3. "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.
  4. Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
  5. MSX-DOS2 Tools User's Manual by ASCII Corporation
  6. IBM. "IBM System i Version 7.2 Programming Qshell" (PDF) (in English). Retrieved 2020-09-05.
  7. "टीआर (स्ट्रिंग) - एपीआईडॉक". APIdock. Retrieved 12 August 2015.
  8. "tr - perldoc.perl.org". perldoc.perl.org. Retrieved 12 August 2015.


बाहरी संबंध