原CSDN博客地址
http://blog.csdn.net/byhook/article/details/51898374
在写Shell脚本的时候经常会用到修改文件
比如配置文件configure
#!/bin/sh
FFMPEG_UPSTREAM=https://github.com/FFmpeg/FFmpeg.git
X264_UPSTREAM=http://git.videolan.org/git/x264.git
FFMPEG_LOCAL_REPO=liblocal
之前一直用的替换方法比较Low
conf=$(cat configure)
conf=${conf//liblocal/libffmpeg}
echo $conf > configure
后来发现这种方式替换文件,文件的格式会混乱(对格式没有严格要求的可以用这种方法)
后来发现是用sed命令效果更好
sed -i 's/liblocal/libffmpeg/g' configure
输出格式没变
我们可以来看看sed的帮助
sed --help
输出使用详情
而
sed -i 's/abc/xxx/g' file
这里的
-i直接修改并保存
abc表示待替换的字符串
xxx表示修改后的字符串
file表示文件
\s表示空格的转义