2016-11-23 43 views
1

這是一個簡單的問題,我只是停留在它上面。我正在處理一堆不同文件的內容,並在其內容之前將每個文件的名稱打印爲標題。這很有效。但我想要有一個空行來分隔一個文件的內容和下一個文件內容的標題。在新文件中的文件內容之後插入空行

我希望它看起來像:

文件1頭

文件1項內容

[空白]

文件2頭

文件2項內容

我試着在我的代碼中放入\ {n}之後,但那不起作用。有什麼建議麼?

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

回答

3

你可以只是一個空echo作爲find-exec的一部分

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

echo剛剛產生的每個文件的內容後,空單換行。您也不需要多個-exec選項,而是使用單個子外殼。

+0

謝謝!你能解釋一下sh -c嗎? – lynkyra

+0

@lynkyra:它明確調用shell來運行這些命令,它不一定是'sh',也可以是'bash -c'。 – Inian

0

你可以嘗試添加第二-exec:這

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

一個副作用是,新生產線將在年底的最後一個文件的內容後加入。

相關問題