ฉันต้องการแทนที่ชุดอักขระด้วยอักขระที่เกี่ยวข้องจากอีกชุดหนึ่งดังนี้:
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
ตรงกันข้ามกับ GNU tr
สามารถแปลตัวอักษรแบบหลายไบต์)