Files
哪些類型的文本文件不應以換行符結尾?
這個問題和這個問題指出,通常標準是用換行符結束文本文件以滿足 POSIX 標準,這是 GNU 工具和其他 POSIX 兼容工具所期望的。
但是,作為 C# 開發人員,我知道處理
csproj
文件的工具通常不包含終止換行符。我還看到了從文件json
中刪除終止換行符的工具。xml
我認為如果處理文件的常用工具最終會再次刪除它們,那麼避免在文本文件末尾包含換行符是有意義的。那麼,由於工具的原因,哪些類型的文本文件不應以換行符結尾?
雖然不完全是文本文件,但符號連結實際上是一個包含一段文本的小文件(通常適合 inode 本身,因此不需要為文件分配數據塊)。
符號連結可以以換行符結尾,但在最常見的情況下不應該這樣。
另一種不應該(當然不能)以換行符結尾的文件是空文件。
在 UNIX 中,文本文件要麼是空的,要麼包含一個或多個可能為空的行,每行都以換行符結束。如果最後一行沒有被換行符終止,則該文件不是正確的文本文件。
空文件根本不包含任何字節;添加換行符的那一刻,您已將其“類型”從空更改為非空。