linux 中如何在文件指定的位置插入特定的行

 

001、

root@DESKTOP-1N42TVH:/home/test3# ls
a.txt  b.txt
root@DESKTOP-1N42TVH:/home/test3# cat a.txt
e r s
s f w
z x v
z v e
root@DESKTOP-1N42TVH:/home/test3# cat b.txt ## 测试数据,将a.txt的第2行插入到b.txt文件的第2行和第3行之间
3 4 2 8
1 3 9 0
1 2 3 4
4 4 7 7
root@DESKTOP-1N42TVH:/home/test3# sed -n 2p a.txt | cat - b.txt  ## 提取行并合并
s f w
3 4 2 8
1 3 9 0
1 2 3 4
4 4 7 7
root@DESKTOP-1N42TVH:/home/test3# sed -n 2p a.txt | cat - b.txt | awk '{if(NR == 1) a=$0; if(NR == 3){$0=$0"\n"a}; if(NR != 1) print $0}'
3 4 2 8                           ## 插入指定位置
1 3 9 0
s f w
1 2 3 4
4 4 7 7

 

posted @ 2022-07-11 10:45  小鲨鱼2018  阅读(1062)  评论(0编辑  收藏  举报