मैं जिस तरह से के बारे में उलझन में हूँ -s, -tऔर -cविकल्पों में काम टीआर आदेश। जब मैं करता हूं
echo I am a good boy | tr good bad
मुझे आउटपुट मिलता है:
I am a bddd bdy
यह काफी समझ में आता है, क्योंकि इसमें oदोहराया जाता है good। के स्थान पर अंतिम संभावित परिवर्तन oहै d, और इसलिए आउटपुट।
अब जब मैं करता हूँ
echo I am a good boy | tr -s good bad
आउटपुट है
I am a bd bdy
-sविकल्प एक भी घटना में सेट 1 में प्रत्येक चरित्र के हर दोहराया घटना निचोड़ और फिर सेट 2 में इसी चरित्र है जो एक ही स्थिति में है में सेट 1 में प्रत्येक चरित्र को बदलने के लिए माना जाता है।
तो यह होना चाहिए था
I am a bad bay.
बदलाव क्यों?
इसके अलावा, जब मैं करता हूं
echo I am a good boy | tr -c good bad
मुझे मिला dddddddgoodddodd
इस उदाहरण का जिक्र करते हुए -cविकल्प कैसे काम करता है tr?
और अंत में: एक अच्छे लड़के से बुरे लड़के में खुद को कैसे बदला जाए .... :): P वह है,
echo I am a good boy | tr <something>मुझे उत्पादन के रूप में देता है I am a bad boy:।
-sस्विच मेंtrकिसी भी वर्ण को अंतिम तर्क से निचोड़ने का कारण बनता हैtr(पहला नहीं, जैसा कि आप कहते हैं) जो इनपुट में दोहराया जाता है। यह आपके द्वारा लिंक किए गए लेख में नोट किया गया है, और मैन पेज के "विवरण" अनुभाग में अंतिम पैराग्राफ में समझाया गया है ।