使用sed命令可以進行字符串的批量替換操作,以節省大量的時間及人力;
使用的格式如下:
sed -i "s/oldstring/newstring/g" `grep oldstring -rl path`
其中,oldstring是待被替換的字符串,newstring是待替換oldstring的新字符串,grep操作主要是按照所給的路徑查找oldstring,path是所替換文件的路徑;
-i選項是直接在文件中替換,不在終端輸出;
-r選項是所給的path中的目錄遞歸查找;
-l選項是輸出所有匹配到oldstring的文件;
實例:
1. 替換指定文件的字符串
sed -i "s/oldstring/newstring/g" filename
sed -i "s/6/sk/g" ./test01.txt
2. 字符串替換批量文件操作
sed -i "s/6/sk/g" ·grep 6 -rl /home/work/test`
sed -i "s/6/sk/g" ·grep 6 -rl /home/work/test/*.sh`
可將test目錄下的所有相關文件都進行字符串替換
參考:
1.http://blog.163.com/daniel_ao/blog/static/1100988432010722642551/