Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在新文件中的文件内容后插入空行_Linux_Blank Line - Fatal编程技术网

Linux 在新文件中的文件内容后插入空行

Linux 在新文件中的文件内容后插入空行,linux,blank-line,Linux,Blank Line,这是一个简单的问题,我只是停留在它。我将一堆不同文件的内容打印出来,并在其内容之前将每个文件的名称作为标题。这很管用。但是我想用一个空行分隔一个文件的内容和下一个文件内容的头 我希望它看起来像: 文件1头 文件1内容 [空白] 文件2头 文件2内容 我尝试在代码中的“{}”后面加上\n,但没有成功。有什么建议吗 find . -type f -name '*_top_hits.txt' -print -exec cat {} \; > combinedresults.txt 您可以尝试添

这是一个简单的问题,我只是停留在它。我将一堆不同文件的内容打印出来,并在其内容之前将每个文件的名称作为标题。这很管用。但是我想用一个空行分隔一个文件的内容和下一个文件内容的头

我希望它看起来像:

文件1头

文件1内容

[空白]

文件2头

文件2内容

我尝试在代码中的“{}”后面加上\n,但没有成功。有什么建议吗

find . -type f -name '*_top_hits.txt' -print -exec cat {} \; > combinedresults.txt

您可以尝试添加第二个
-exec

find . -type f -name '*_top_hits.txt' -print -exec cat {} \; -exec echo \; > combinedresults.txt

这样做的一个副作用是,在最后一个文件的内容之后会添加一个新行。

您可以将一个空的
echo
作为
查找
-exec
的一部分

find . -type f -name "*_top_hits.txt" -print -exec sh -c "cat {};echo"  \; > combinedresults.txt

echo
仅在每个文件内容之后生成一个空的新行。此外,您不需要多个
-exec
选项,只需使用一个子shell即可。

谢谢!你能解释一下sh-c吗?@lynkyra:它显式地调用shell来运行这些命令,它不一定是
sh
,也可以是
bash-c