|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位大神,请教一个关于sed或awk命令实现以下功能的方法:
文件ip.txt的内容如下:
IP段的一 IP段的二 IP段的三
106.75.58.72/24 101.52.131.65/23 106.75.176.56/20
45.249.244.141/20 123.59.44.181/20 106.75.152.1/20
现在需要使用sed 或awk或者其他办法将插入的新的内容如下排列:
IP段的一 IP段的二 IP段的三
106.75.58.72/24 101.52.131.65/23 106.75.176.56/20
111.111.111.111 222.222.222.222 333.333.333.333
45.249.244.141/20 123.59.44.181/20 106.75.152.1/20
444.444.444.444 555.555.555.555 666.666.666.666
我的想法以及操作:
一、用sed /a\的方式如愿的插入了
[root@10-6-31-65 test]# sed -i '/'45.249.244.141'/a\'444.444.444.444'' 2.txt
[root@10-6-31-65 test]# cat 2.txt
IP段的一 IP段的二 IP段的三
106.75.58.72/24 101.52.131.65/23 106.75.176.56/20
111.111.111.111
45.249.244.141/20 123.59.44.181/20 106.75.152.1/20
444.444.444.444
但是再次插入时:
[root@10-6-31-65 test]# sed '/'101.52.131.65'/a\\t\t'222.222.222.222'' 2.txt
IP段的一 IP段的二 IP段的三
106.75.58.72/24 101.52.131.65/23 106.75.176.56/20
222.222.222.222
111.111.111.111
45.249.244.141/20 123.59.44.181/20 106.75.152.1/20
444.444.444.444
结果:
sed并不会将111.111.111.111 与222.222.222.22视为同一行
期望:
如果需要按我的需求排列这里需要如何操作?如果sed无法实现那么是否有其他可行性?希望大神能够指点一二或者给个思路。万分感谢,跪求~~~
sed -i '1a111.111.111.111 222.222.222.222 333.333.333.333' ip.txt
|
|