我有一个名为source.txt的文件,其中包含以下几行:-
the
quick
brown
fox
jumped
over
the
lazy
dog
我想搜索“ fox”行并将其以及随后的所有行删除,直到“ over”行为止。然后,我想在这些行的位置插入另一个文件(fruit.txt)的内容。水果包含:-
apples
bananas
pears
所以结果应该是一个看起来像这样的文件:-
the
quick
brown
apples
bananas
pears
the
lazy
dog
我认为使用sed命令可以做到这一点。
此命令成功删除了以下行:-
sed -i -e '/fox/,/over/d' source.txt
该命令几乎可以正常工作,但是将fruit.txt文件的内容插入了三次,每行匹配一次:-
sed -i -e '/fox/,/over/{r fruit.txt' -e 'd}' source.txt
任何帮助将不胜感激!
答案 0 :(得分:-1)
在这种情况下,您必须通过此命令删除不需要的
sed -i -e '/fox/,/over/d' source.txt
然后通过此命令添加所需的内容
sed -i -e '/brown/ r fruit.txt' source.txt
我希望它将对您有帮助