Return symbol

From LemonWiki共筆
Revision as of 12:04, 29 November 2024 by Planetoid (talk | contribs)
Jump to navigation Jump to search

如何看到換行符號、如何從文章中取代換行符號 (英文:Return symbol, line terminators, line endings, newline, end of line (EOL), line feed (LF) or line break)。

  • On Win Os windows.png : CRLF = \r\n
  • On Unix, Linux Os linux.png & recent versions of macOS icon_os_mac.png : LF = \n
  • On classic versions of macOS icon_os_mac.png [1][2] e.g. Mac OS 9: CR = \r

如何使用編輯軟體,看到換行符號

查看每一行使用的換行符號

  • Notepad++ On Win Os windows.png 選單 → 檢視 → 特殊字元 → 顯示行尾字元 (EOL)
  • RawLineEdit for Sublime text
    • 換行符號是 CRLF = \r\n 每行最後顯示的是 <0x0d>¬
    • 換行符號是 LF = \n 每行最後顯示的是 ¬ 象形符號 (glyph)
    • 換行符號是 CR = \r 每行最後顯示的是 <0x0d>
  • BASH cat command e.g. cat -e <filename>
    • 換行符號是 CRLF = \r\n 每行最後顯示的是 ^M$
    • 換行符號是 LF = \n 每行最後顯示的是 $
    • 換行符號是 CR = \r 每行最後顯示的是 ^M

查看檔案使用的換行符號

檔案內容 File command 偵測結果
換行符號是 CRLF = \r\n UTF-8 Unicode text, with CRLF line terminators
換行符號是 LF = \n UTF-8 Unicode text Icon_exclaim.gif
換行符號是 CR = \r UTF-8 Unicode text, with CR line terminators
特例: 換行符號夾雜 \r\n\r UTF-8 Unicode text, with CRLF, CR line terminators
特例: 換行符號夾雜 \r\n\n UTF-8 Unicode text, with CRLF, LF line terminators
特例: 換行符號夾雜 \n\r UTF-8 Unicode text, with CR, LF line terminators
特例: 無內容的空檔案 empty

不同換行符號 在不同作業系統的編輯器看到的文件狀況

檔案內容 Windows 10 內建「記事本」 Windows 10 免費編輯器 Notepad++ v. 7.5.9 Mac 內建「文字編輯.app Mac 編輯器 Sublime Text v. 3.2
換行符號是 CRLF = \r\n ok ok ok ok
換行符號是 LF = \n Icon_exclaim.gif 預期不同行的內容擠在一起 ok ok ok
換行符號是 CR = \r Icon_exclaim.gif 預期不同行的內容擠在一起 ok ok ok

計算換行符號的數量

## 計算 \n (不包含 \r\n) 換行符號的數量
% perl -ne '$count++ if /[^\r]\n/; END{print "純 LF 數量: $count\n"}' YOUR_FILE.txt

## 計算 \r\n 換行符號的數量
% perl -ne '$count++ if /\r\n/; END{print "CRLF 數量: $count\n"}' YOUR_FILE.txt

如何取代換行符號

  • Excel:
    • =CLEAN(A1) Use the CLEAN function to "remove the first 32 nonprinting characters in the 7-bit ASCII code (values 0 through 31) from the text"[6]. Meanwhile, the return symbol will be removed from the text.
    • =TRIM(SUBSTITUTE(SUBSTITUTE(A1, CHAR(13),""), CHAR(10),", ") to replace the return symbol in the cell located at A1 [7][8].
      • CHAR(10) means "Line feed" which equal to \n
      • CHAR(13) means "Carriage return" which equal to \r

Related articles


References