Bir dosya var ma.txt
ve çıktı içerir ls -l
; tr
( tr "nik-pc" "root"
) komutunu çalıştırdığımda bu çıktıyı alıyorum:
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
Birinci satırda "nik" yerine "too" ifadesinin yerini aldı ve "Desktop" ın yazım şekli "Desottt" oldu.
Bu neden? Arkasındaki mantık nedir?
nik-pc
onunla değiştirmek root
mi istiyorsun ?
n
da olduğunu unutmayın k-p
. İlk sette bir kereden fazla görünen karakterin sonucu POSIX tarafından belirtilmemiştir.
sed
komut ... ls -l | sed 's/nik-pc/root/'
istediğini yapacaktı. tr
tek karakterleri dönüştürmek içindir - ör. küçük harf büyük harfe veya dos tarzı satır kaydırma (\ r) yerine Unix stiline (\ n) veya tüm ters eğik çizgileri (Windows) eğik çizgilerle değiştirme gibi bir şey. Ayrıca "istenmeyen" karakterleri silebilir, örn. tüm sayılar veya büyük harfler.
info coreutils 'tr invocation'
size ne yaptığını ayrıntılı olarak anlatırtr
.