1.sed 一些常用的选项及例子
a\ 在当前行后面加入一行文本。
eg: # sed '/wangjun/a\I love you' test.sh -->就是在test.sh文件里找到wangjun,然后再在下一行添加一个一句“I love you”
i\ 在当前行前面插入文本
eg:# sed '/wang/i\hhhhhhhhh' test.sh 如果wangjun被匹配,则把反斜杠后面的文本插入到匹配行的前面。
& 保存搜索字符用来替换其他字符,
eg: # s/love/**&**/,love这成**love**。
\< 锚定单词的开始,
eg: /\<love/匹配包含以love开头的单词的行。
-e 多点编辑:e命令
eg:# sed -e '1,5d' -e 's/test/check/' example --->(-e)选项允许在同一行里执行多条命令。如例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令的执行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。
r 从文件读入:r命令
$ sed '/test/r file' example ---> 把file里的内容被读进来,显示在example文件与test匹配的行后面,如果匹配多行,则file的内容将显示在所有匹配行的下面。
w 写入文件:w命令
$ sed -n '/test/w file' example --->在example中所有包含test的行都被写入file里。
在sed的命令行中引用shell变量时要使用双引号,而不是通常所用的单引号
eg: 在shell中创建一个变量A=wangjun,然后:
# sed "/$A/i\hhhhhhhhh" test.sh