Sed语法格式:
语法格式:
# sed [选项] ‘编辑指令’ 文件名
选项:
-n :屏蔽默认输出
-i :直接修改文件内容
-r :启用扩展正则
编辑指令:条件加指令
条件:
1.行号
指令:
P :输出(print)
例子:打印第一到四行:sed -n ‘1,4p’ passwd
打印第三行,第五行:sed -n ‘3p;5p’ passwd
打印第三行之后的十行:sed -n ‘3,+10p’ passwd
打印基数行:sed -n ‘1~2p’ passwd(从1开始,2是步长)
打印偶数行:sed -n ‘2~2p’ passwd
2./正则/
包含root的行:
例子:#grep root passwd
#sed -n ‘/root/p’ passwd
以root开头的行:#sed -n ‘/^root/p’ passwd
以bash结尾的行:#sed -n ‘/bash$/p’ passwd
删除指令:-d
例子:排除空行:
#grep -v ‘^$’ passwd
删除空行:
#sed -i ‘/^$/d’ passwd
替换指令:-s
语法格式:
例子:‘s/old/new/’ 替换第一个
‘s/old/new/3’ 替换第三个
‘s/old/new/g’ 替换全部
注:替换操作的分隔符/也可以用#、$
特殊:输出行数:#sed ‘$=’ passwd
删除最后一行:#sed -n ‘$d’ passwd
文本行操作:
i: 行前添加文本
a: 行后添加文版
c: 替换指定行
例:修改主机名:
#vim hostname.sh
#!/bin/bash
# sed -i ‘1c dwt.com’ /etc/hostname
# sh hostname