1.将文本每行最后七个字符换成!号
sed -n 's#.{7}$#!#p' ooo
在文本的每一行前添加#符号
sed 's/^.?/#&/' passwd
& 替代符 替代前面所匹配的
? 数量符 需要转义 表示1个或0个
/ 分隔符 此处三个都是 可以用别的符号代替
2.将某个目录下所有文件文本中的kkkkk 换成 ddddd
sed -i 's/kkkkk/ddddd/g' `grep -rl mydir`
grep 中 -r递归 -l输出文件名
3.截取文本中的某一段(IP地址)并存放与文件中
(1)cat eth0 | sed 's/.*t addr://' | sed 's/ Bc.*//' |xargs echo > ech0
(2)sed -i -e 's/.*t addr://' -e sed 's/B.*//' eth0
.* 表示任意字母任意数量
-e 表示多点编辑
-i 表示修改文件
4.删除第6行到最后一行
sed '6,$d' file
5.删除第1行 和 第3行
sed -e '1d' -e '3d' file
6.再第3行上面插入两行
sed '3a hello world
>the text' file (>不是我打上去的是自动显示的)
7.替换行
sed '3c33333333' file
替换第三行
8.对字符操作
8-1删除某个字符
sed '/root/d' file
把file中的root删除
8-2显示包含摸个字符的行
sed -n '/root/n' file
把file中包含root的行显示出来
8-3检索行并于此执行命令 命令间分好隔开
sed -n '/root/{s/bash/bullet;p;q}' file
file中含root的行上 把bash改成bullet并打印出来 最后退出
s替换 p打印 q退出
未完待续。。。