在進行編碼或是代碼移植時經常遇到,要批量替換特定字符串,於是找到了如下方法。這一方法在替換ip地址時也常常用到。
2、命令使用:sed -i 's/old_string/new_string/g' `grep old_string -rl ./` //一般的替換用這條足以實現
sed -i 's/old_string/new_string/g' `grep old_string -rl ./ | grep -vE "tags|svn"` //特殊要求的替換:此命令中要求過濾掉含有tags和svn的文件
3、說明: 將當前目錄下,文本中含有的old_string的串替換爲new_string.
1) grep old_string -rl ./ 檢索出當前目下及子目錄下的目標文件(含有old_string字符串的文件)
2)grep -vE "tags|svn" 過濾掉不合格的文件(含有tags或者svn字符的文件)。因爲代碼庫裏面經常包含有索引文件,這些索引文件受控於svn,不應認爲改動。所以最好過濾掉
3) sed -i -i 表示 inplace edit, 就地修改文件,請注意批量替換前請先備份。