2014-12-20 36 views
1

我想遞歸地將多個具有相同名稱的文件遞歸到另一個文件中。有一個早期的問題「Recursive cat all the files into single file」幫助我開始。不過,我想達到相同的目的,以便每個文件前面有文件名和路徑,不同的文件最好用空行或-----或類似的東西分隔。所以得到的文件會讀取:帶文件名的遞歸貓

files/pipo1/foo.txt 
flim 
flam 
floo 

files/pipo2/foo.txt 
plim 
plam 
ploo 

任何方式來實現這個在bash中?

+0

我聽說吃了金絲雀的貓,但我有描繪遞歸貓的麻煩。 ;) –

回答

1

當然!而不是僅僅cat荷蘭國際集團的文件,只需連鎖行動來打印文件名,貓的文件,然後添加一個換行符:

find . -name 'foo.txt' \ 
    -print \ 
    -exec cat {} \; \ 
    -printf "\n" 
+2

請注意'-printf'不是POSIX。如果需要POSIX解決方案,則必須用'-exec echo \;'或類似的東西替換。 –

+0

非常感謝你們兩位優秀的先生們,作品像一種魅力:-) @熱舔 - LOL:D – Peregrino69