17
A
回答
28
要在文件的末尾添加一個新行:
for x in *; do echo >>"$x"; done
如果你不知道:
echo >>file
要在當前目錄下的每個文件的末尾添加一行提前確定每個文件是否以換行符結尾,首先測試最後一個字符。 tail -c 1
打印文件的最後一個字符。由於命令替換會截斷最後一個換行符,因此$(tail -c 1 <file)
在文件爲空或以換行符結束時爲空,如果文件以非換行符結尾則爲非空。
for x in *; do if [ -n "$(tail -c 1 <"$x")" ]; then echo >>"$x"; fi; done
1
echo >> filename
大規模使用前試試吧:)
5
Vim的是偉大的,因爲如果你不binary
模式下打開一個文件時,它會自動結束與檢測線結尾的文件。
所以:
vim file -c 'wq'
應該工作,不管你的文件是否的Unix,Windows或線風格的Mac結束。
相關問題
- 1. 缺失換行符
- 2. 在一行中的大XML文件中添加換行符
- 3. 在C++中添加一個換行符到文件
- 4. postgres,在缺失值時添加行
- 5. Maven在添加Powermock時缺失工件
- 6. 添加缺失列
- 7. 向SQL查詢添加缺失的行
- 8. 如何在兩個@imported sass文件之間添加換行符?
- 9. 將字符串添加到沒有換行符的文件中
- 10. 在根節點之前在xml文件中添加換行符
- 11. 添加多行的文件
- 12. 如何在每個單詞後在文本文件中添加換行符
- 13. 在bat文件的末尾添加一行忽略換行符
- 14. shell在文件中間添加多行
- 15. SVN:修訂文件缺少換行符
- 16. php文件上傳缺少換行符
- 17. 在另一個文件中搜索多個字符串(來自文件)並列出缺失的字符串
- 18. 在字符串中添加換行符
- 19. 換行符中缺少換行符
- 20. 在CodenameOne的SpanLabel中添加換行符
- 21. 如何在Linux中編輯文件並添加換行符?
- 22. 在零查詢的mysql查詢中添加缺失的行
- 23. 添加缺失的約束後,UIWebView無法加載PDF文件
- 24. 轉換文件的多行文件每行單個字符串
- 25. 爲缺失數據添加一行
- 26. awk:如果缺失添加一行
- 27. 連接表:僅(!)添加缺失行
- 28. 在Mapbox中添加多個geoJSON文件
- 29. 在xcode中添加多個.c文件
- 30. Phing:在它們之間添加換行符時附加文件
爲什麼'tail -c 1'如果文件以換行符結束則什麼也不返回? – 2011-05-07 17:20:33
@MuMind:'tail -c 1'總是返回最後一個字符,不管它是換行還是不行。這是shell的命令替換結構'$(...)',它剝奪了最終的換行符。所以如果'tail -c 1'只輸出一個非換行符,就會得到那個字符。如果'tail -c 1'只輸出一個換行符,或者什麼都不輸出(空文件),你什麼也得不到。 – Gilles 2011-05-07 17:38:48
如果您不想將新行添加到空文件,請使用...'if [-s「$ x」-a -n「$(tail -c 1 <」$ x「)」];然後'... – 2011-05-07 19:21:02