Bash

將文件內容和自定義文本的連接輸出到新文件中

  • December 4, 2020

對不起,一個菜鳥問題,但是,我菜鳥,所以……

給定兩個文件,比如file1contenttext1file2content text2,我想創建一個file3帶有 content的新文件text1newtextinbetweentext2。我希望有一些命令,比如

cat file1 (dontknowwhat "newtextinbetween") file2 > file3

有沒有dontknowwhat可以做我想做的事?如果沒有,最好的方法是什麼?

另一種方法是使用程序替換:

cat file1 <(echo "newtextinbetween") file2 > file3

編輯:如果您不echo添加換行符,請echo -n改用。

這裡有兩種方法:

  1. 將命令分組
$ { cat file1; echo "newtextinbetween"; cat file2; } > file3
$ cat file3
text1
newtextinbetween
text2
  1. 使用子外殼
$ ( cat file1; echo "newtextinbetween"; cat file2 ) > file3
$ cat file3
text1
newtextinbetween
text2
  1. 使用命令替換
$ printf '%s\nnewtextinbetween\n%s\n' "$(cat file1)" "$(cat file2)" > file3
$ cat file3
text1
newtextinbetween
text2

如果您不想要每個塊之間的換行符,您可以執行以下操作:

$ printf '%snewtextinbetween%s\n' "$(cat file1)" "$(cat file2)" > file3
$ cat file3
text1newtextinbetweentext2

引用自:https://unix.stackexchange.com/questions/622752