2011-12-07 42 views
0

我需要遞歸合併根目錄下的所有csv文件(任意層次結構),csv文件最後可能沒有換行符,所以我想添加一個新的只要我合併兩個文件就行。 如何在shell腳本中執行此操作?遞歸合併根目錄下的所有文件

回答

1

使用發現有兩個-exec選項:

find $YOUR_DIR -iname '*.csv' -exec cat {} \; -exec echo \; 

編輯:也是,也許如果你的CSV中有一個頭,而不是cat,你可以使用sed 1d來說,攔截的第一行:

find $YOUR_DIR -iname '*.csv' -exec sed 1d {} \; -exec echo \; 
+0

有沒有辦法來回顯每個文件的名稱而不是一個新的行? – Quickredfox

+1

是的,將'\ {}'作爲參數傳遞給echo,如下所示:'echo \ {} \;'。程序'find'將會用文件名替換這些括號,但是你需要將其轉義,所以shell不會解釋。 – elias

相關問題