1.
doc:
abc
2.
當要匹配(當成字串)時
[]要加反斜 \[\]
()跟{}不用
當要當特殊字符(正規
\(abc\)
\{3,5\}
3.
原:
abc
def
389
root@ushan-K43E:~# sed 's/a\(bc\)/\1&asdf/g' a s代表代替\(bc\)代表取這個位罝\1代表取bc&代表原始的字串
bcabcasdf
def
389
4.
原:
abc
def
389
sed 's/[0-9]\{3\}/asdf/g' a
abc
def
asdf
5.
http://www.cnblogs.com/fhefh/archive/2011/11/22/2259097.html
sed命令:
+ g:[address[,address]]g 将hold space中的内容拷贝到pattern space中,原来pattern space里的内容清除
+ G:[address[,address]]G 将hold space中的内容append到pattern space\n后
+ h:[address[,address]]h 将pattern space中的内容拷贝到hold space中,原来的hold space里的内容被清除
+ H:[address[,address]]H 将pattern space中的内容append到hold space\n后
+ d:[address[,address]]d 删除pattern中的所有行,并读入下一新行到pattern中
+ D:[address[,address]]D 删除multiline pattern中的第一行,不读入下一行
sed '/[Aa]bc/p' file //打印包含Abc或者abc的行
sed '/ABC/d' //删除包含ABC的行
sed '/ABC/!d' //不删除包含ABC的行
sed '5,$d' //从第五行到最后一行全部删除
sed 1q //显示第一行
sed 's/$/.../g' //每行的最后面添加 ...
sed 's/d.(sk)/1&/g' //满足d*sk的单词,在单词前添加sk sed 's/<[^>]*>//g' //去除html标签
sed '/ABC/a123' //在包含ABC的行后面添加一行数值为123的行
sed '/ABC/i123' //跟a不同的是i是插入当前行的前面
sed '/ABC/c123' //包含ABC的行将更改为123
sed '/ABC/{n;s/123/ABC/g}' //精确匹配包含ABC的下一行,将123全部替换成ABC
sed '/ABC/{s/A/a/}' //在包含ABC的行将A替换成a
sed -e '/ABC/h' -e '$g' //将包含ABC的行复制,在最后一行添加.
sed -e '/ABC/{h;d}' -e '/123/G' //将包含ABC的行复制并删除,在包含123的行后添加. g等于在当前行覆盖,G是在符合条件的行后新增加一行. sed 's/^/ /g' //每行前面增加一个空格
sed 's/.(.)$/*1/' //将倒数第二位换成*
sed '/ABC/!s/1/*/g' //在不包含ABC的行里,将所有的1替换成*
sed 's/1|2|3/*/g' //在GNU里将不管是1或2或者是3替换成*
sed在这个文里Root的一行,匹配Root一行,将no替换成yes.
将包含now 的行 替换为 带时间戳 以及 8080 变量请求数
在某行的位置插入一行
如果只是在一个文档后面追加一行,那很简单。>> 就可以搞定。不过如果是在指定的某一行里插入。
就是在第8行插入 alias vi='vim'
在第一行前插入文本
在最后一行插入
在匹配行前插入
在匹配行后插入