shell如何取出特定文本内容并替换另一个文本中的指定内容???
比如$catfile1mqserver=127.0.0.1$catfile2ip=192.168.1.1如何通过shell脚本将file1中的内容改为mqserver=1...
比如
$cat file1
mqserver=127.0.0.1
$cat file2
ip=192.168.1.1
如何通过shell脚本将file1中的内容改为 mqserver=192.168.1.1 展开
$cat file1
mqserver=127.0.0.1
$cat file2
ip=192.168.1.1
如何通过shell脚本将file1中的内容改为 mqserver=192.168.1.1 展开
1个回答
展开全部
1、按=分割取第二列
cat $file1|grep mqserver|awk -F= '{print $2}'`
2、直接替换文件内容
sed -i "s/127.0.0.1/192.168.1.1/" file1
3、实例:
#!/bin/sh
file1=ip1.txt
file2=ip2.txt
IP1=`cat $file1|grep mqserver|awk -F= '{print $2}'`
IP2=`cat $file2|grep ip|awk -F= '{print $2}'`
echo change $IP1 to $IP2.
sed -i "s/$IP1/$IP2/" $file1
more $file1
cat $file1|grep mqserver|awk -F= '{print $2}'`
2、直接替换文件内容
sed -i "s/127.0.0.1/192.168.1.1/" file1
3、实例:
#!/bin/sh
file1=ip1.txt
file2=ip2.txt
IP1=`cat $file1|grep mqserver|awk -F= '{print $2}'`
IP2=`cat $file2|grep ip|awk -F= '{print $2}'`
echo change $IP1 to $IP2.
sed -i "s/$IP1/$IP2/" $file1
more $file1
追问
我的file1中有多个IP需要更改,我用了你的方法,如果file1中的多个IP在更改之前都相同的话,执行到Sed替换的时候就会把那些IP全部改为相同的IP,不会再执行下面的sed替换。请问我该怎么做才能不管更改之前IP相不相等,都可以实现每个sed语句对应一个替换?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询