sed命令详解
2016-08-19 10:34
148 查看
1.替换字符串
s为替换的意思,s后紧跟的为分隔符,我们同样可以这样写
由于abcdefghi中包含fgh,因此没有进行替换。
3.替换文件中的内容
将网卡文件中的static修改为dhcp
替换后的结果为
-bash-3.2# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
IPADDR=10.180.142.54
NETMASK=255.255.0.0
ONBOOT=yes
HWADDR=00:0C:29:0C:4A:38
-bash-3.2# echo "abcdefghi" | sed 's/cde/aaa/g' abaaafghi以上代码将abcdefghi字符串中出现的cde替换为aaa
s为替换的意思,s后紧跟的为分隔符,我们同样可以这样写
-bash-3.2# echo "abcdefghi" | sed 's|cde|aaa|g' abaaafghi2.替换不匹配的行
-bash-3.2# echo "abcdefghi" | sed '/fgh/!s/cde/aaa/g' abcdefghi上句意为,将不包含fgh的行中的cde字符串替换为aaa
由于abcdefghi中包含fgh,因此没有进行替换。
3.替换文件中的内容
将网卡文件中的static修改为dhcp
-bash-3.2# sed -i 's|BOOTPROTO=static|BOOTPROTO=dhcp|g' /etc/sysconfig/network-scripts/ifcfg-eth0
替换后的结果为
-bash-3.2# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
IPADDR=10.180.142.54
NETMASK=255.255.0.0
ONBOOT=yes
HWADDR=00:0C:29:0C:4A:38