Linux常用命令之sed

原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

后来发现这种方式替换文件,文件的格式会混乱(对格式没有严格要求的可以用这种方法)


Linux常用命令之sed_第1张图片
这里写图片描述

后来发现是用sed命令效果更好

sed -i 's/liblocal/libffmpeg/g' configure
Linux常用命令之sed_第2张图片
这里写图片描述

输出格式没变

我们可以来看看sed的帮助

sed --help

输出使用详情

sed -i 's/abc/xxx/g' file

这里的

-i直接修改并保存
abc表示待替换的字符串
xxx表示修改后的字符串
file表示文件
\s表示空格的转义

你可能感兴趣的:(Linux常用命令之sed)