我在目錄中有大量的小文本文件。我想將每100個文件合併成一個大文件。任何人都可以用Linux Shell腳本幫助我做到這一點嗎?如何將每個100個文件合併到一個目錄中?
回答
追加輸出new.txt
cat *.txt >> new.txt
覆蓋new.txt
cat *.txt > new.txt
我會假設OP會希望在答案的某個地方看到數字「100」...... – Mehrdad
下面的草圖將做到這一點:
files=(*) # list of files
idx=0 # start index of actual package
len=100 # files per package
pcount=0 # package counter
while [ $idx -le ${#files[@]} ] ; do
cat "${files[@]:idx:len}" > pack${pcount} # process subarray
((idx+=len)) # start of next package
((pcount++)) # number of next package
done
結果是文件名爲「pack0 ','pack1',...
只需使用「files =(*)」 - 這將保留帶有空格的文件名。使用'ls'這樣會將帶有空格的文件名分解成單獨的單詞。 –
謝謝,沒錯。另外,cat命令需要用引號來處理帶有空格的文件名。 –
它很好用..非常感謝。我只需要更改爲「文件=(文件夾/ *)」,並將結果放入另一個文件夾。 – user594382
如果文件可以(重新)移動,那麼它相當簡單:
find text_files_dir/ -name '*.txt' | \
head -n 100 | \
while read f; do cat "$f" >> big_file && rm "$f"; done
或
find text_files_dir/ -name '*.txt' | \
head -n 100 | \
while read f; do cat "$f" >> big_file && mv "$f" some_place_else/; done
,直到有沒有留下更多的文本文件,你可以把它放進一個循環。
- 1. 將2個svn目錄自動合併到一個目錄中
- 2. 製作多個目錄並將文件放到每個目錄中
- 3. 如何將多個文本文件合併到一個data.frame中?
- 4. 將一個非代碼文件合併到多個項目中
- 5. 如何從多個目錄/文件夾合併多個文件
- 6. 如何將兩個excel文件合併到一個名稱中?
- 7. Elisp - >將目錄中的所有文件合併到一個文件中
- 8. C#將一個目錄與另一個目錄合併
- 9. 將javascripts合併到一個文件中
- 10. 如何將一個.DLL文件合併到我的VB項目
- 11. 如何遞歸地導入目錄中的每個文件並在每個文件中運行一個函數?
- 12. 如何將一個目錄中的大量文件從一個目錄移動到另一個目錄?
- 13. 將兩個文本文件合併爲一個mysql表中的每個文件
- 14. 將文件從一個目錄複製到另一個目錄
- 15. 將文件從一個目錄複製到另一個目錄
- 16. 將文件從一個目錄移動到另一個目錄
- 17. 將文件從一個目錄複製到另一個目錄
- 18. 將文件從一個目錄複製到另一個目錄
- 19. 將文件從一個目錄移動到另一個目錄
- 20. 將文件從一個目錄移動到另一個目錄
- 21. 將文件從一個目錄複製到另一個目錄
- 22. 我將如何將多個目錄壓平併疊加到一個目錄中?
- 23. 將文件合併到一個目錄中,每次都附加一個換行符
- 24. 命令行在一個目錄中合併多個文件?
- 25. 如何將兩個maven webapps合併到一個項目中
- 26. 將幾個mstest trx文件合併到一個trx文件中
- 27. 將兩個XML文件合併到一個文件中
- 28. 如何將文件從一個目錄移動到另一個目錄
- 29. 如何將文件從一個目錄移動到另一個目錄?
- 30. 如何將我的文件從一個目錄複製到另一個目錄?
幫助:是的。寫:不。 [當你爲自己嘗試時,你有哪個部分卡住了?](http://whathaveyoutried.com/)?分組100個文件?連接文件?寫腳本? – Johnsyweb