sed插入多行到文件

首先写一个测试的文件test.txt

echo -e "1\n2\n3\n4\n5" > test.txt

查看一下文档

cat test.txt 
1
2
3
4
5

我们要在2的前面插入多行,如以下内容

insert 1 line

insert 2 line

insert 3 line

在此时我们最好写进脚本里,在命令行可能会出错一下,以下就是我写的脚本,脚本名为insert.sh,其中1,2,3都用了变量,我这里推荐大家在插入多行的时候用单引号,变量前后再用单引号隔开就行,因为如果插入其它特殊符号就不用加转义字符\了,sed的几行里面除了最后一行不加\,其它行都加,表示下一行。

注意:sed命令中\字符后面不要有空格,会报错,如果是在windows上面写的shell脚本要用dos2unix命令转换成unix格式

#!/bin/bash
line1=1
line2=2
line3=3
sed -i '/2/i\
insert '$line1' line\
insert '$line2' line\
insert '$line3' line
' test.txt

脚本写好了我们再执行一下脚本并查看test.txt文档

sh insert.sh
cat test.txt
1
insert 1 line
insert 2 line
insert 3 line
2
3
4
5

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值