很抱歉问一个菜鸟问题,但是,好吧,我是菜鸟,所以......
给定两个文件,比如file1contenttext1和file2content text2,我想创建一个file3包含 content的新文件text1newtextinbetweentext2。我希望一些命令像
cat file1 (dontknowwhat "newtextinbetween") file2 > file3
Run Code Online (Sandbox Code Playgroud)
有没有一些dontknowwhat可以做我想要的?如果没有,最好的方法是什么?
这里有两种方法:
将命令分组
$ { cat file1; echo "newtextinbetween"; cat file2; } > file3
$ cat file3
text1
newtextinbetween
text2
Run Code Online (Sandbox Code Playgroud)
使用子shell
$ ( cat file1; echo "newtextinbetween"; cat file2 ) > file3
$ cat file3
text1
newtextinbetween
text2
Run Code Online (Sandbox Code Playgroud)
使用命令替换
$ printf '%s\nnewtextinbetween\n%s\n' "$(cat file1)" "$(cat file2)" > file3
$ cat file3
text1
newtextinbetween
text2
Run Code Online (Sandbox Code Playgroud)
如果您不想要每个块之间的换行符,您可以执行以下操作:
$ printf '%snewtextinbetween%s\n' "$(cat file1)" "$(cat file2)" > file3
$ cat file3
text1newtextinbetweentext2
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用进程替换:
cat file1 <(echo "newtextinbetween") file2 > file3
Run Code Online (Sandbox Code Playgroud)
编辑:如果您不echo添加换行符,请echo -n改用。
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |