代码之家  ›  专栏  ›  技术社区  ›  solotim

如何编写一个将一个文件的内容插入另一个文件的线性脚本?

  •  1
  • solotim  · 技术社区  · 16 年前

    假设我有一个文件,文件中间有一个标记字符串“#INSERT#u HERE#”。我想把文件B的全部内容放到文件A的那个位置。我尝试使用管道连接这些内容,但我想知道是否有更高级的单行脚本来处理它。

    3 回复  |  直到 16 年前
        1
  •  1
  •   William Pursell    16 年前

    使用sed的r命令:

    $ cat foo
    one
    two
    #INSERT_HERE#
    three
    four
    $ cat bar
    foo bar
    bar foo
    $ sed '/#INSERT_HERE#/{ r bar
    > d
    > }' foo
    one
    two
    foo bar
    bar foo
    three
    four
    
        2
  •  3
  •   dogbane    16 年前
    cat file | while read line; do if [ "$line" = "#INSERT_HERE#" ]; then cat file_to_insert; else echo $line; fi; done
    
        3
  •  2
  •   ghostdog74    16 年前
    $ cat  file
    one
    two
    #INSERT_HERE#
    three
    four
    
    $ cat  file_to_insert
    foo bar
    bar foo
    
    $ awk '/#INSERT_HERE#/{while((getline line<"file_to_insert")>0){ print line };next }1 ' file
    one
    two
    foo bar
    bar foo
    three
    four