如果文件中包含aaa的那行的下一行内容为alias /admin /admin/admin则什么都不做,否则将aaa的下一行的内容整体替换为alias /admin /admin/admin该怎么写呢
求大神指点
第1个回答 2014-05-07
其实你的问题简化问
查找包含aaaa的那行,然后把下面一行写成alias /admin /admin/admin
很多方法,比如:
sed '/aaaa/!b;n;calias \/admin \/admin\/admin' your_file追问
查找包含aaaa的那行,然后把下面一行写成alias /admin /admin/admin
很多方法,比如:
sed '/aaaa/!b;n;calias \/admin \/admin\/admin' your_file追问
大哥你好,我用sed遇到的问题是我需要修改的不是匹配行,而刚好是匹配行的下一行所以麻爪了,您这个是下一行不,稍微给老弟解释一下呗
追答你试一试先,是不是满足了你的要求
sed是其中的一个办法
其实还有好多方式,比如说awk
或者直接shell脚本,read, while循环也可以做
sed -i '/aaaa/ { N; s/\n.*$/\ntttt/}' test
本回答被提问者采纳