linux下shell中:
sed -i "s/oldstring/newstring/g" tmp.txt
sed -i "s/oldstring/newstring/g" `grep "oldstring" -rl ./`
grep "oldstring" -rl ./ |xargs sed -i "s/oldstring/newstring/g"
mac下shell略有不同,需要多加个空字符串""
sed -i "" "s/oldstring/newstring/g" tmp.txt
sed -i "" "s/oldstring/newstring/g" `grep "oldstring" -rl ./`
grep "oldstring" -rl ./ |xargs sed -i "" "s/oldstring/newstring/g"
sed中参数s表示替换,g表示全部,如果不加g则会之替换一行中的第一个oldstring。
查看man手册,显示添加空字符串则不会保存备份,在崩溃和磁盘空间用完的情况下会有风险,这……大概是中彩票的几率吧,而且不加的话也执行不成功哇