Posted on 2009-05-28 00:40
林光炎 閱讀(687)
評論(0) 編輯 收藏 所屬分類:
LINUX
比如,要將目錄/modules下面所有文件中的zhangsan都修改成lisi,這樣做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`
解釋一下:
-i 表示inplace edit,就地修改文件
-r 表示搜索子目錄
-l 表示輸出匹配的文件名
這個命令組合很強大,要注意備份文件。
(1)sed 'y/1234567890/ABCDEFGHIJ/' test_sed
sed 'y/1234567890/ABCDEFGHIJ/' filename
ABCDEFGHIJ
BCDEFGHIJA
CDEFGHIJAB
DEFGHIJABC
注意變換關系是按兩個list的位置對應變換
其中:test_sed的內容是:
1234567890
2345678901
3456789012
4567890123
(2)替換每行所有匹配
sed 's/01/Ab/g' test_sed
1234567890
23456789Ab
3456789Ab2
456789Ab23
注意:第一行的0,1沒有分別替換為A,b