find . -type f | xarg cat > outputFile

此指令是指找出此目錄(.)底下的檔案(-type f)後

pipe給cat

而xarg代表的意義是將pipe前面的output結果當作cat的參數

ex: /tmp/data/有很多資料夾,而這些資料夾底下總有10000個檔案,

我想要將1~10000.txt 全部concate到一個檔案

所以利用find /tmp/data -type f 找出所有的檔案 (執行後會output出 1.txt 2.txt 3.txt...etc)

之後pipe給 xarg

而xarg會將前面output出的1.txt 2.txt 3.txt 當作下一個程式(此例就是cat)的參數

所以就會變成cat 1.txt 2.txt 3.txt...

所以最後就把這些導到同一個檔案即可!

 

另外一種方法,在網路上搜尋到的

find . -type f -exec cat {} \; 

也是類似的方法,只是直接使用find裡的exec參數

至於後面那串我就不太清楚了QQ

 

創作者介紹

[todo Austin] 奧斯丁。土豆

austintodo 發表在 痞客邦 PIXNET 留言(0) 人氣()