Linux Shell:替换某行数据的下一行的内容

如果文件中包含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追问

大哥你好,我用sed遇到的问题是我需要修改的不是匹配行,而刚好是匹配行的下一行所以麻爪了,您这个是下一行不,稍微给老弟解释一下呗

追答

你试一试先,是不是满足了你的要求

sed是其中的一个办法
其实还有好多方式,比如说awk
或者直接shell脚本,read, while循环也可以做

追问

sed -i '/aaaa/ { N; s/\n.*$/\ntttt/}' test

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网