Tôi bối rối về đường đi -s
, -t
và -c
tùy chọn làm việc trong tr lệnh. Khi tôi làm
echo I am a good boy | tr good bad
Tôi nhận được đầu ra:
I am a bddd bdy
Điều này là khá dễ hiểu, vì o
được lặp lại trong good
. Sự thay đổi cuối cùng có thể thay thế o
là d
, và do đó là đầu ra.
Bây giờ khi tôi làm
echo I am a good boy | tr -s good bad
đầu ra là
I am a bd bdy
Các -s
tùy chọn có nghĩa vụ phải ép mọi điều xảy ra lặp đi lặp lại của mỗi nhân vật trong bộ 1 vào một sự xuất hiện duy nhất và sau đó thay đổi mỗi nhân vật trong bộ 1 vào nhân vật tương ứng trong tập 2 mà là ở vị trí tương đương.
Vì vậy, nó nên được
I am a bad bay.
Tại sao thay đổi?
Hơn nữa, khi tôi làm
echo I am a good boy | tr -c good bad
tôi có dddddddgoodddodd
Làm thế nào để -c
tùy chọn làm việc cho tr
, tham khảo ví dụ này?
Và cuối cùng: làm thế nào để thay đổi bản thân từ một cậu bé ngoan thành một cậu bé hư .... :): P Đó là,
echo I am a good boy | tr <something>
cung cấp cho tôi đầu ra là : I am a bad boy
.
-s
chuyển đổi gây ratr
ép bất kỳ ký tự nào từ đối số cuối cùng sangtr
(không phải là đầu tiên, như bạn nói) được lặp lại trong đầu vào. Điều này được ghi chú trong bài viết bạn liên kết và được giải thích trong đoạn cuối trong phần "Mô tả" của trang man .