使用sed更改文件中的多行
因此,我试图修改/etc/resolv.conf以实现负载平衡。假设resolv.conf如下所示:使用sed更改文件中的多行,sed,Sed,因此,我试图修改/etc/resolv.conf以实现负载平衡。假设resolv.conf如下所示: search server.com nameserver 192.1.168.0 nameserver 192.1.168.1 nameserver 192.1.168.2 search server.com nameserver 192.1.168.2 nameserver 192.1.168.0 nameserver 192.1.168.1 LAST_OCTET_OF_IP=`/sbin
search server.com
nameserver 192.1.168.0
nameserver 192.1.168.1
nameserver 192.1.168.2
search server.com
nameserver 192.1.168.2
nameserver 192.1.168.0
nameserver 192.1.168.1
LAST_OCTET_OF_IP=`/sbin/ifconfig -a |grep "inet addr" |grep 128|cut -d : -f 2|cut -d" " -f1|cut -d'.' -f 4`
MOD6_IP=$(( $LAST_OCTET_OF_IP % 6 ))
{
grep ^search /etc/resolv.conf
grep $MOD6_IP$ /etc/resolv.conf
grep -v $MOD6_IP$ /etc/resolv.conf | grep nameserver
} > /etc/resolv.conf.new
目标是根据下面的脚本使主服务器不同。因此,如果服务器mod 6的IP地址的最后八位字节=1,那么resolv.conf将如下所示:
search server.com
nameserver 192.1.168.0
nameserver 192.1.168.1
nameserver 192.1.168.2
search server.com
nameserver 192.1.168.2
nameserver 192.1.168.0
nameserver 192.1.168.1
LAST_OCTET_OF_IP=`/sbin/ifconfig -a |grep "inet addr" |grep 128|cut -d : -f 2|cut -d" " -f1|cut -d'.' -f 4`
MOD6_IP=$(( $LAST_OCTET_OF_IP % 6 ))
{
grep ^search /etc/resolv.conf
grep $MOD6_IP$ /etc/resolv.conf
grep -v $MOD6_IP$ /etc/resolv.conf | grep nameserver
} > /etc/resolv.conf.new
下面是脚本的一部分,用于实现负载平衡
# Load balance
LAST_OCTET_OF_IP=`/sbin/ifconfig -a |grep "inet addr" |grep 128|cut -d : -f 2|cut -d" " -f1|cut -d'.' -f 4`
MOD6_IP=$(( $LAST_OCTET_OF_IP % 6 ))
if [ $MOD6_IP -eq 1 ]
# need this part
if [ $MOD6_IP -eq 2 ]
# need this part
在本例中,如何使用SED替换多行?不确定使用
SED
有多重要
使用这种逻辑如何:
search server.com
nameserver
行,但已添加的行除外search server.com
nameserver 192.1.168.0
nameserver 192.1.168.1
nameserver 192.1.168.2
search server.com
nameserver 192.1.168.2
nameserver 192.1.168.0
nameserver 192.1.168.1
LAST_OCTET_OF_IP=`/sbin/ifconfig -a |grep "inet addr" |grep 128|cut -d : -f 2|cut -d" " -f1|cut -d'.' -f 4`
MOD6_IP=$(( $LAST_OCTET_OF_IP % 6 ))
{
grep ^search /etc/resolv.conf
grep $MOD6_IP$ /etc/resolv.conf
grep -v $MOD6_IP$ /etc/resolv.conf | grep nameserver
} > /etc/resolv.conf.new
不确定使用
sed
有多重要
使用这种逻辑如何:
search server.com
nameserver
行,但已添加的行除外search server.com
nameserver 192.1.168.0
nameserver 192.1.168.1
nameserver 192.1.168.2
search server.com
nameserver 192.1.168.2
nameserver 192.1.168.0
nameserver 192.1.168.1
LAST_OCTET_OF_IP=`/sbin/ifconfig -a |grep "inet addr" |grep 128|cut -d : -f 2|cut -d" " -f1|cut -d'.' -f 4`
MOD6_IP=$(( $LAST_OCTET_OF_IP % 6 ))
{
grep ^search /etc/resolv.conf
grep $MOD6_IP$ /etc/resolv.conf
grep -v $MOD6_IP$ /etc/resolv.conf | grep nameserver
} > /etc/resolv.conf.new
我看到了你的回答,对不起,我本想早点回答的 我最终还是没有使用sed(sed被推荐给我,但我仍然无法理解如何使用它)。 所以,我最终是这样做的: 如果[$MOD6_IP-等式1] 然后
猫我看到了你的回答,对不起,我本想早点回答的 我最终还是没有使用sed(sed被推荐给我,但我仍然无法理解如何使用它)。 所以,我最终是这样做的: 如果[$MOD6_IP-等式1] 然后
cat为什么选择“sed专门用于此作业”而不是任何其他工具?为什么选择“sed专门用于此作业”而不是任何其他工具?