假设我有文件A,其中间有一个标签字符串“#INSERT_HERE#”。我想把文件B的全部内容放到文件A的那个位置。我尝试使用管道来连接这些内容,但我想知道是否有更高级的单行脚本来处理它。
答案 0 :(得分:3)
cat file | while read line; do if [ "$line" = "#INSERT_HERE#" ]; then cat file_to_insert; else echo $line; fi; done
答案 1 :(得分:2)
$ 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
答案 2 :(得分:1)
使用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