
shell脚本实现文件内容替换,替换a.txt的start到end之间的内容为b.txt的内容。
3个回答
展开全部
好方法。
另外,管道符不是必要的,可以通过-e选项,在一个sed命令中同时使用两个表达式。
sed -i -e '/^start/,/^end/{//!d}' -e '/^start/r b.txt' a.txt
或者直接两个语句分号分隔:
sed -i '/^start/,/^end/{//!d};/^start/r b.txt' a.txt
2014-07-18
展开全部
cat b.txt > a.txt
更多追问追答
追问
不是追加到后面啊,也不是覆盖,只是是要替换中间一部分
追答
提供个较笨的办法:
找到start 到end的几行,然后删掉,再cat b.txt的内容到a.txt 的start 这一行下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的代码写的不太好。用这个
sed -e '/^end/r b.txt' -e '/^start/,/^end/d' a.txt
就2句sed命令
/^end/r b.txt
/^start/,/^end/d
sed -e '/^end/r b.txt' -e '/^start/,/^end/d' a.txt
就2句sed命令
/^end/r b.txt
/^start/,/^end/d
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询