创建一个测试文件,其内容是:
#
# hello world
# hi world
# this is test file
# id:3:inittab:default
#hi like his liker
#hi love his lover
#hi love his liker
###end of the file
1、删除测试文件行首的空白符
sed -n 's#^[[:space:]]##g' test
使用小结:
-n 静默模式,仅输出经过command处理过的行
's#pattern#string#g'其实就是's/pattern/string/g'意思一样,只是形式上的不同
s是替换命令,g是s的参数,表明是全局替换
^[[:space:]] ^是行首锚定,[[:space:]] 匹配空白字符。参见正则表达式。
2、替换测试文件中id:3:inittab:default的数字3替换成5
sed -i 's#\(id:\)3\(:inittab:default\)#\15\2#g' test
使用小结:
-i 表明在源文件中修改。这个使用需谨慎
\1,\2 表对第一个分组的引用和对第二个分组的引用。
3、删除测试文件中空白行
sed -n 's/^$//g' test
's/pattern//g' 如果pattern是:^$表明开始即结束,那么就是匹配空白行
4、删除测试文件中开头的#
sed -n 's/^#//g' test
转载于:https://blog.51cto.com/hongyilinux/1705344