关于行尾结束符CR和LF的区别

发布时间 2023-10-25 14:38:34作者: 海_纳百川

情况:

我在a.txt中每行放了一个单词,每行的结尾是CRLF,我使用cat a.txt |xargs -i -t mkdir {}将每个单词命名为一个文件夹,但是发现每个文件夹名称后面都是?问号,后来我把CRLF修改为LF,然后再此执行,才能够成功。

解答:

CRLF就是回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)。

一般操作系统上的运行库会自动决定文本文件的换行格式。如一个程序在Windows上运行就生成CR/LF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件。在一个平台上使用另一种换行符的文件文件可能会带来意想不到的问题,特别是在编辑程序代码时。有时候代码在编辑器中显示正常,但在编辑时却会因为换行符问题而出错。

CR LF(回车换行)
CR LF 换行符类型通常用于 Windows 操作系统和基于 DOS 的文本文件。它结合了两个字符:回车符 (CR) 和换行符 (LF)。让我们深入研究一下每个字符的重要性:

回车符(CR):表示为\r,该字符将光标移动到当前行的开头,而不前进到下一行。这就像将打字机滑架推回左侧。

换行(LF):表示为\n,该字符将光标向下移动到下一行,而不影响水平位置。这就像将打字机滑架移至下一行。

在 Windows 和 DOS 文本文件中,CR 和 LF 字符的组合表示换行符。CR LF 序列 \r\n 通常用于表示这些系统中的换行符。