回答
只用awk
awk 'FNR==1{print ""}1' *.txt
喜歡這個。我調整它以產生一個註釋,這樣我就可以知道新文件的每個部分來自哪個文件:awk'FNR == 1 {printf(「#%s \ n」,ARGV [ARGIND])} 1'謝謝你介紹我來awk。我將.coffee文件合併在一起,這樣我就可以避免咖啡 - 合併,從而獲得可用的源圖。 – Julian 2014-05-30 05:36:32
建議進行以下編輯以避免在結果頂部包含換行符:'awk'FNR == 1 && NR!= 1 {print「」} 1'* .txt' – 2016-06-08 16:20:19
for file in *.txt
do
cat "$file"
echo
done > newfile
您可以通過每個文件與迭代for循環:
for filename in *.txt; do
# each time through the loop, ${filename} will hold the name
# of the next *.txt file. You can then arbitrarily process
# each file
cat "${filename}"
echo
# You can add redirection after the done (which ends the
# for loop). Any output within the for loop will be sent to
# the redirection specified here
done > output_file
這會阻塞文件名中有空格的文件。 – 2010-04-05 02:56:35
@IgnacioVazquezAbrams - 謝謝你的提醒(我不會在我的名字中使用空格,所以我通常會忘記這一點)。無論如何,我已經更新了我的示例以正確處理。 – 2010-04-05 03:37:13
我選擇了awk解決方案,但這對其他腳本肯定會有用。謝謝。 – Marco 2010-04-05 04:57:18
我假設你想要的文件之間的換行符。
for file in *.txt
do
cat "$file" >> result
echo >> result
done
如果你有一個支持它paste
,
paste --delimiter=\\n --serial *.txt
做一個真正偉大的工作
這是文件最快的方法之一連接我曾經測試過。好主意... – retrography 2014-04-29 10:55:23
IMO最佳解決方案。 '-d'和'-s'都是posix指定的,所以不應該有'paste'來支持它們。這個解決方案確實需要更多投票 – kralyk 2014-05-24 13:58:34
+1優秀!太感謝了。確切的問題,我有和完美的答案! – KillBill 2014-10-01 00:51:46
- 1. Linux合併多個文件
- 2. Linux和python:將多個wave文件合併到一個wave文件
- 3. Linux - 將多個CSV文件合併爲一個
- 4. 批合併多個文件到一個
- 5. 將多個JSON文件合併到一個Ruby文件
- 6. 合併多行到一個
- 7. 如何將多個文本文件合併到一個data.frame中?
- 8. 使inotifywait組將多個文件更新合併爲一個?
- 9. 將多個測試運行合併爲一個Jacoco.exec文件
- 10. 將兩個CSV文件與主CSV文件進行比較,並將結果合併到一個新文件中
- 11. SQL - 將多個行合併爲一個
- 12. 將多個PHP腳本合併到一個文件中
- 13. 將多個CSS文件合併到一個PHP中
- 14. 將多個數據文件合併到一個繪圖中
- 15. AppleScript將多個Excel文件合併到一個工作表中
- 16. 將一個非代碼文件合併到多個項目中
- 17. RoR - 將多個資產合併到一個文件中
- 18. 將javascripts合併到一個文件中
- 19. 將多個通知合併到一個
- 20. 合併多個數據行到一個
- 21. 將兩個聲音文件合併爲一個新文件
- 22. 並行下載多個文件? (Linux/Python?)
- 23. 將多個PDF文件合併爲一個PDF文件
- 24. 將多個文件合併爲一個頭文件
- 25. 你可以將多個文件合併成一個文件嗎?
- 26. GZIP將多個文件合併爲一個文件gz
- 27. 將多個JavaScript文件合併成一個JS文件
- 28. 如何將多個.cs文件合併爲一個.dll文件?
- 29. 將多個文件流合併成一個文件?
- 30. 如何將多個csv文件合併爲一個CSV文件
'cat'確實在默認情況下。 – 2010-04-05 05:09:01
@丹尼斯威廉姆森:不,它不。試試'echo -n a> a.txt; echo -n b> b.txt;貓a.txt b.txt'。 – ephemient 2010-04-05 14:25:27
@ephemient:'echo「一些文本」> text.txt;文件text.txt; echo -n「some text」> text.txt; file text.txt' – 2010-04-05 17:07:12