ฉันมีไฟล์ma.txt
และมันมีผลลัพธ์ของls -l
; เมื่อฉันเรียกใช้tr
คำสั่ง ( tr "nik-pc" "root"
) ฉันได้รับผลลัพธ์นี้:
nik-pc@nik:~$ cat ma.txt
total 52
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 11 11:33 Desktop
lrwxrwxrwx 1 nik-pc nik-pc 2 Mar 8 22:54 di -> hd
drwxr-xr-x 3 nik-pc nik-pc 4096 Mar 13 13:28 Documents
drwxr-xr-x 7 nik-pc nik-pc 4096 Mar 14 18:21 Downloads
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 11 09:39 dwhelper
-rw-r--r-- 1 nik-pc nik-pc 2134 Mar 13 17:40 hd
-rw-r--r-- 1 nik-pc nik-pc 3 Mar 13 15:34 m
-rw-r--r-- 1 nik-pc nik-pc 0 Mar 17 19:48 ma.txt
drwxr-xr-x 3 nik-pc nik-pc 4096 Mar 13 14:58 Music
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 5 12:30 Pictures
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 5 11:44 Public
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 13 15:58 sd
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 5 11:44 Templates
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 5 11:44 Videos
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 11 11:33 xdm-helper
nik-pc@nik:~$ tr "nik-pc" "root" < ma.txt
tttat 52
drwxr-xr-x 2 too-tt too-tt 4096 Mar 11 11:33 Desottt
trwxrwxrwx 1 too-tt too-tt 2 Mar 8 22:54 do -> hd
drwxr-xr-x 3 too-tt too-tt 4096 Mar 13 13:28 Dttutetts
drwxr-xr-x 7 too-tt too-tt 4096 Mar 14 18:21 Dtwtttads
drwxr-xr-x 2 too-tt too-tt 4096 Mar 11 09:39 dwhetter
-rw-r--r-- 1 too-tt too-tt 2134 Mar 13 17:40 hd
-rw-r--r-- 1 too-tt too-tt 3 Mar 13 15:34 t
-rw-r--r-- 1 too-tt too-tt 0 Mar 17 19:48 ta.txt
drwxr-xr-x 3 too-tt too-tt 4096 Mar 13 14:58 Musot
drwxr-xr-x 2 too-tt too-tt 4096 Mar 5 12:30 Pottures
drwxr-xr-x 2 too-tt too-tt 4096 Mar 5 11:44 Pubtot
drwxr-xr-x 2 too-tt too-tt 4096 Mar 13 15:58 sd
drwxr-xr-x 2 too-tt too-tt 4096 Mar 5 11:44 Tetttates
drwxr-xr-x 2 too-tt too-tt 4096 Mar 5 11:44 Vodets
drwxr-xr-x 2 too-tt too-tt 4096 Mar 11 11:33 xdt-hetter
ที่บรรทัดแรกมันถูกแทนที่ด้วย "นิก" กับ "เกินไป" และการสะกดคำของ "เดสก์ท็อป" กลายเป็น "Desottt"
ทำไมนี้ ตรรกะอะไรที่อยู่เบื้องหลัง
nik-pc
ด้วยจริงroot
หรือ
n
ยังอยู่ในk-p
ช่วง ผลลัพธ์ของอักขระที่ปรากฏมากกว่าหนึ่งครั้งในชุดแรกนั้นไม่ได้ระบุโดย POSIX
sed
คำสั่ง ... ls -l | sed 's/nik-pc/root/'
จะทำสิ่งที่คุณต้องการ tr
สำหรับการแปลงอักขระเดี่ยว - เช่น ตัวพิมพ์เล็กเป็นตัวพิมพ์ใหญ่หรือตัวอักษรแบบเส้นเลื่อน (\ r) เป็นแบบ Unix (\ n) หรือสิ่งอื่นเช่นการเปลี่ยนแบ็กสแลชทั้งหมด (Windows) ด้วยเครื่องหมายทับ นอกจากนี้ยังสามารถลบอักขระ "ไม่พึงประสงค์" เช่น ตัวเลขทั้งหมดหรือตัวอักษรตัวพิมพ์ใหญ่ทั้งหมด
info coreutils 'tr invocation'
บอกรายละเอียดสิ่งที่คุณtr
ทำ