sed命令使用案例
增删改查
1、取出/etc/passwd文件的第3行
sed -n '3p' /etc/passwd
2、取出/etc/passwd文件的第2行到第5行
sed -n '2,5p' /etc/passwd
3、过滤出/etc/passwd中包含root的行
sed -n '/root/p' /etc/passwd
4、获取范围内的日志
sed -n '/102/ , /105/p' sed.txt
5、修改文件内容之前先备份
sed -i.bak 's#haifeng#yuanfang#g' sed.txt
6、替换---后向引用
输出12345678,通过sed加工变成1<234567>8
echo 12345678 |sed -r 's#(1)(.*)(8)#\1<\2>\3#g'
调换/etc/passwd第1列和最后一列内容
sed -r 's#^(.)(:x.😃(.*$)#\3\2\1#g' passwd
取出网卡ip地址
ip a s eth0 | sed -n '3p' | sed -r 's#^.et ([0-9.]+)/.$#\1#g'
取出stat /etc/hosts中的0644或644
stat /etc/hosts |sed -n '4p' | sed -r 's#^.(([0-9]+)/.$#\1#g'
7、排除/删除文件中的空行和带注释的行
sed -r '/^$|#/d' /etc/ssh/sshd_config
8、增加文件内容 c a i
sed '3a 999,haifeng,UFO' sed.txt