17 June 2015

分隔符号

为了更好的执行替换操作, sed支持 / 和 # 两个符号作为分隔符.

语法简记

**sed [options] ‘[line scope] ' filename**

匹配后插入行

先使用 // 匹配内容后: 使用 a 行后插入一行, 使用 i 行前插入一行.

	$ sed -i '/repo git/aconfig hooks.mailinglist = Email' conf/gitolite.conf

行首/行尾添加字符

	$ sed -i 's/^/LineHeader/' file.txt
	$ sed -i 's/$/LineTail/' file.txt

多次替换

  • 删除首尾空格, 中间空格去重后换成逗号
    $ echo "  Hello    World  " | sed 's/^ *//;s/ *$//;s/ \+/,/g'
	Hello,World
  • 过滤svn/CVS/RCV文件
	sed -e '/\/CVS\//d' -e '/\/RCS\//d' -e '/\.svn\//d' -e 's/^\.\///'