मैं इसी तरह के पात्रों के एक सेट को दूसरे सेट से बदलना चाहता हूं, कुछ इस तरह से:
original set: ots
"target" set: u.x
foobartest → fuubar.ex.
इस तरह अनुवाद / अनुवाद करना tr
कमांड की विशेषता है :
$ echo 'foobartest' | tr 'ots' 'u.x'
fuubar.ex.
दुर्भाग्य से tr
इन-प्लेस जैसी फाइलों को बदलने का समर्थन नहीं sed
करता है।
मैं इसका उपयोग करना चाहूंगा, sed
इसलिए मुझे टेंपर्ड फ़ाइलों की बाजीगरी को रोकने की आवश्यकता नहीं है।
tr
(सही ढंग से) प्रतिस्थापन सेट में पुनरावृत्ति को अनदेखा करता है: echo 'abc' | tr ab bx
→ bxc
। एक आदिम समाधान कसाई हो सकता है xxc
क्योंकि यह उन अनुवादों को फिर से लागू करता है जिन्हें पहले ही अनुवादित किया जा चुका है।
sed
विपरीत जीएनयू tr
मल्टी-बाइट पात्रों को लिप्यंतरित कर सकता है)