以行为单位的新增/删除
- 删除
#删除2到5行
nl /etc/passwd | sed '2,5d'
#删除第三行
nl /etc/passwd | sed '3d'
#删除从第三行开始到最后一行的行
nl /etc/passwd | sed '3,$d'
- 新增
a->目标行后面添加,i ->目标行前面添加
nl /etc/passwd | sed '2a xuzhang'
nl /etc/passwd | sed '2i xuzhang'
#添加多行的话,每一行以\隔开就行
nl /etc/passwd | sed '2a xuzhang\
maitng'
以行为单位的替换与显示
- c
nl /etc/passwd | sed '2,5c No 2-5 number'
output:
1 root:x:0:0:root:/root:/bin/bash
No 2-5 number
6 sync:x:5:0:sync:/sbin:/bin/sync
.....(后面省略).....
- p
#打印5~7行
nl /etc/passwd | sed -n '5,7p'
#将匹配到root的行进行打印
nl /etc/passwd | sed '/root/p'
数据的搜寻并删除
#将有root的行进行删除。
nl /etc/passwd | sed '/root/d'
搜寻并执行命令
#搜寻含有root的行,替换bash成blueshell,并将其打印,多个命令的话,用花括号,并将命令以;隔开。
nl /etc/passwd | sed -n '/root/{s/bash/blueshell/;p}'
数据查找并进行替换
sed 's/要被取代的字串/新的字串/g',g代表全局替换。