• linux sed + r实现在文件指定位置插入文件


    1、测试数据

    root@PC1:/home/test# ls
    a.txt  test.txt
    root@PC1:/home/test# cat test.txt
    3 s j
    d z 4
    x c 8
    3 f z
    c m d
    root@PC1:/home/test# cat a.txt
    1
    2
    3

    2、

    root@PC1:/home/test# cat a.txt
    1
    2
    3
    root@PC1:/home/test# cat test.txt
    3 s j
    d z 4
    x c 8
    3 f z
    c m d
    root@PC1:/home/test# sed '2r a.txt' test.txt   ## 在第2行的后面插入a.txt
    3 s j
    d z 4
    1
    2
    3
    x c 8
    3 f z
    c m d

    3、

    root@PC1:/home/test# ls
    a.txt  test.txt
    root@PC1:/home/test# cat a.txt
    1
    2
    3
    root@PC1:/home/test# cat test.txt
    3 s j
    d z 4
    x c 8
    3 f z
    c m d
    root@PC1:/home/test# sed '1~1r a.txt' test.txt  ## 在每一行的后面插入a.txt
    3 s j
    1
    2
    3
    d z 4
    1
    2
    3
    x c 8
    1
    2
    3
    3 f z
    1
    2
    3
    c m d
    1
    2
    3

    4、

    root@PC1:/home/test# ls
    a.txt  test.txt
    root@PC1:/home/test# cat a.txt
    1
    2
    3
    root@PC1:/home/test# cat test.txt
    3 s j
    d z 4
    x c 8
    3 f z
    c m d
    root@PC1:/home/test# sed '1~2r a.txt' test.txt   ## 在奇数行的后面插入a.txt
    3 s j
    1
    2
    3
    d z 4
    x c 8
    1
    2
    3
    3 f z
    c m d
    1
    2
    3

    5、

    root@PC1:/home/test# ls
    a.txt  test.txt
    root@PC1:/home/test# cat a.txt
    1
    2
    3
    root@PC1:/home/test# cat test.txt
    3 s j
    d z 4
    x c 8
    3 f z
    c m d
    root@PC1:/home/test# sed '/z/r a.txt' test.txt  ## 在匹配z的行后面插入a.txt
    3 s j
    d z 4
    1
    2
    3
    x c 8
    3 f z
    1
    2
    3
    c m d

    6、

    root@PC1:/home/test# ls
    a.txt  test.txt
    root@PC1:/home/test# cat a.txt
    1
    2
    3
    root@PC1:/home/test# cat test.txt
    3 s j
    d z 4
    x c 8
    3 f z
    c m d
    root@PC1:/home/test# sed '/^3/r a.txt' test.txt  ## 在以3开头的行后面插入a.txt
    3 s j
    1
    2
    3
    d z 4
    x c 8
    3 f z
    1
    2
    3
    c m d
    root@PC1:/home/test# sed '/^3.*z$/r a.txt' test.txt  ## 在以3开头,同时以z结尾的行后面插入a.txt
    3 s j
    d z 4
    x c 8
    3 f z
    1
    2
    3
    c m d
  • 相关阅读:
    转载算法达人修炼营实践模板
    win7上面已经安装了mysql,但是net start mysql提示服务名无效
    如何读懂c++源码?
    struts2 DMI无法运行
    spring下配置dbcp,c3p0,proxool
    前端VS后台
    jsp以及servlet中文乱码问题
    文件上传
    注册和验证的实现
    网站访问计数器的设计
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15801375.html
Copyright © 2020-2023  润新知