sed使用方式
1.在Shell中输入:
$ sed [选项] 'sed命令' 输入文件
脚本格式:
#!/bin/sed -f
sed命令
2.用sed -f命令调用sed脚本文件
$ sed [选项] -f sed脚本文件 输入文件
3.直接执行sed脚本文件
$ chmod u+x sed脚本文件
$ ./sed脚本文件 输入文件
命令选项及其意义
-n 不打印所有的行到标准输出
-e 讲下一个字符解析为sed命令
-f 表示正在调用sed脚本文件
sed命令定位文本的方法
x x为指定行号
x,y 制定从x到y的行号
/pattern/ 查询包含模式的行
/pattern/pattern/ 查询包含两个模式的行
/pattern/,x 查询与模式匹配的行到x行之间的行
x,/pattern/ 同上
x,y! 查询不在x到y行的其它行
sed编辑命令
p 打印匹配行
= 打印文件行号
a\ 行之后追加
i\ 行之前插入
d 删除定位行
c\ 用新文本替换定位文本
r 从另一个文件中读文本
w 讲文件写入到一个文件
y 变换字符
q 在第一个模式匹配完成后退出
{} 在定位行执行的命令组
n 读取下一个输入行,用下一个命令处理新的行
//关于缓冲区操作未记录,目前认为此类命令用的极少
sed命令demo
- -n选项
$ cat 2.txt
1:c
2:d
2:dd
2:d d
:ddddddd
$ sed '1p' 2.txt
1:c
1:c
2:d
2:dd
2:d d
:ddddddd
$ sed -n '1p' 2.txt
1:c
//没有-n意味着除选择的内容外,全部内容重新输出一遍
- -e选项
$ sed -n -e '1p' -e '1=' 2.txt
1:c
1
其它实现多个命令方式:
1.使用;
$ sed ‘(匹配行/)编辑命令1;(匹配行/)编辑命令2;...’ 输入文件
2.使用 {}和;
$ sed '匹配行/{编辑命令1;编辑命令2}' 输入文件
#或
$ sed '{(匹配行/)编辑命令1;(匹配行/)编辑命令2;...} 输入文件
3.输入sed ’,然后按enter键,将显示二级提示符
$ sed '
1p
2=
' 2.txt