Sono confuso per quanto riguarda il modo in cui -s, -te -copzioni di lavoro nel TR comando. Quando io faccio
echo I am a good boy | tr good bad
Ottengo l'output:
I am a bddd bdy
Questo è abbastanza comprensibile, poiché osi ripete in good. L'ultima modifica possibile al posto di oè d, e quindi l'output.
Adesso quando lo faccio
echo I am a good boy | tr -s good bad
l'uscita è
I am a bd bdy
Si -ssuppone che l' opzione comprima ogni ricorrenza ripetuta di ciascun personaggio nel set 1 in una singola occorrenza e quindi cambi ogni carattere nel set 1 nel personaggio corrispondente nel set 2 che si trova nella stessa posizione.
Quindi avrebbe dovuto essere
I am a bad bay.
Perché il cambiamento?
Inoltre, quando lo faccio
echo I am a good boy | tr -c good bad
ottengo dddddddgoodddodd
Come funziona l' -copzione tr, facendo riferimento a questo esempio?
E infine: come cambiare me stesso da bravo ragazzo a cattivo ragazzo .... :): P Cioè,
echo I am a good boy | tr <something>mi dà l'uscita come: I am a bad boy.
-sinterruttore provoca latrcompressione di qualsiasi carattere dall'ultimo argomento atr(non il primo, come dici tu) che si ripete nell'input. Questo è annotato nell'articolo che hai collegato e viene spiegato nell'ultimo paragrafo nella sezione "Descrizione" della pagina man .