zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Linux 关机和重启命令
    Linux ubuntu安装ftp服务器
    C++ map和unsorted_map底层实现
    C++中的那些容器在使用时,哪些情况下迭代器会失效
    虚函数表的构造
    C++容器 priority_queue,堆的实现
    c++11中的move是否会改变对象的地址
    (转)关于linux中内核编程中结构体的赋值操作(结构体指定初始化)
    无参方法
    类和对象
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15801375.html
Copyright © 2011-2022 走看看