以下簡單的比較了tr與sed的用法差別
tr [option] SET1 SET2
- option -d 刪除, Ex: tr -d 't'
- option -s 取代, Ex: tr -s 't' 'a'
ex:
現有一File:source.txt內容為:
test
tttt
eeee
ssss
tttt
% cat source.txt | tr 'test' 'ABCD'注意到這個結果,tr只是單純的將test <=> ABCD做個對應,並將文件內容轉換為
DBCD
DDDD
BBBB
CCCC
DDDD
- t->D
- e->B
- s->C
sed [regurage] [file]
可充份地表示「正規表示式」,用法很像perl裡的寫法,input的方式,可由[STDIN]或是File
Ex: 想將'test'取代為'abcd'
% cat source.txt | sed s/test/abcd/g說明:
% sed s/test/abcd/g source.txt
abcd
tttt
eeee
ssss
tttt
s/// 是取代的意思
s/[from]/[to]/
最後加個g,表示global,就是全部取代的意思,如果不加,則只會取代找到的第一個
[form] & [to]裡頭就可以寫正規表示式
這邊只是粗淺地介紹一下字串取代的功能部分,如果想深入了解,就再去找資料吧XD
沒有留言:
張貼留言