创建一个测试文件,其内容是:

#

# 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