sed 's/[[:space:]][[:space:]]*/ /g' filename
# 替换成分隔符:
sed 's/[[:space:]][[:space:]]*/:/g' filename
一个使用的示例:
# 提取jpeglib.h文件中的JPEG_LIB_VERSION的定义版本号字符串
# 文件中的该行为: #define JPEG_LIB_VERSION 62 /* version 62 */
# 结果为 62
sed -n '/#define JPEG_LIB_VERSION/s/[[:space:]][[:space:]]*/ /gp' jpeglib.h |cut -d " " -f 3
sed重要注意事项
sed支持正则表达式,空格的表示方法[[:space:]]
利用-i选项可以直接修改原来文件,不必生成新文件
为了引入shell变量,必须使用双引号(很重要)
例子sed -i "s/#server[[:space:]]$1/server $1/g" $2 将 server加若干空格加指定内容 前面的所有井号去掉