抱歉问了一个菜鸟问题,但是,好吧,我是菜鸟,所以...
给定两个文件,file1
比如说内容,text1
以及file2
内容text2
,我想创建一个file3
包含内容的新文件text1newtextinbetweentext2
。我希望有一些命令像
cat file1 (dontknowwhat "newtextinbetween") file2 > file3
有一些dontknowwhat
可以做我想要的吗?如果不是,最佳方法是什么?
答案1
这里有两种方法:
对命令进行分组
$ { cat file1; echo "newtextinbetween"; cat file2; } > file3 $ cat file3 text1 newtextinbetween text2
使用子外壳
$ ( cat file1; echo "newtextinbetween"; cat file2 ) > file3 $ cat file3 text1 newtextinbetween text2
使用命令替换
$ 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
答案2
另一种方法是使用进程替换:
cat file1 <(echo "newtextinbetween") file2 > file3
编辑:如果您不知道echo
要添加换行符,请echo -n
改为使用。