这是一个简单的问题,我只是坚持下去。我正在获取一堆不同文件的内容,并在其内容之前将每个文件的名称打印为标题。那很有用。但我希望有一个空行分隔一个文件的内容和下一个文件内容的标题。
我希望它看起来像:
文件1标题
文件1内容
[空格]
文件2标题
文件2内容
我尝试在我的代码中将\ n放在“{}”之后,但这不起作用。有什么建议吗?
// create new record
foreach ($addDeptPositions as $c) {
$sql2 = "INSERT INTO `qci_departments` (`Department`,`Positions`) VALUES ('".$addDeptName."', '".mysqli_real_escape_string($db,$c)."')";
$db->query($sql2);
}
答案 0 :(得分:3)
作为echo
find
的一部分,您可以将-exec
空白为
find . -type f -name "*_top_hits.txt" -print -exec sh -c "cat {};echo" \; > combinedresults.txt
echo
只会在每个文件内容后生成一个空的换行符。此外,您不需要多个-exec
选项,而是使用单个子shell。
答案 1 :(得分:0)
您可以尝试添加第二个-exec
:
find . -type f -name '*_top_hits.txt' -print -exec cat {} \; -exec echo \; > combinedresults.txt
这样做的一个副作用是在最后一个文件的内容之后添加一个新行。