Linux和windows换行符区别及使用说明
来源:互联网 发布:金庸群侠传2秘籍数据 编辑:程序博客网 时间:2024/05/17 20:43
Linux和windows换行符区别及使用说明
windows下的文件换行是以 "\r\n"结束的, 而linux这种类unix系统是以"\n"结束的。
“r”所对应的英文单词为"return",意为换行;“n”所对应的英文单词为"newline"意为新行,呵呵都一个意思。
之所以,UNIX系统下省略了“\r”是因为,UNIX的创立者觉得微软的这一套"\r\n"作为换行标识符比较占用存储空间,更重要的一点是浪费宝贵的寄存器的空间(因为系统读取文本是要经过cpu处理的,这就会占用寄存器空间),大家要知道几十年前,寄存器的容量是很小的,而且造价高昂(当然现在也好不到哪里去)。
为了验证这一点,可以写一个简单的小列子测试一下:
分别在windows下和Linux下新建文本windows.txt、linux.txt并向两了文件中写入内容:
hello
world
这时用EditPlus编辑器分别打开windows.txt和Linux.txt,并以十六进制形式查看两者的文件内容。
windowx.txt内容如下:
Linux.txt内容如下:
注:"\r"对应的十六进制编码为:0D;“\n”对应的十六进制编码为:0A
正因为如此,linux系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Linux下打开的话,在每行的结尾可能会多出一个^M符号(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的)。所以unix的文本到windows会出现换行丢失; 而反过来就会出现^M的符号了。
注:在这里,我用vim编辑器打开windows.txt并未看到有“^M”字符,用":/\r"命令查找“\r”字符也没找到,我在想是不是vim编辑器自动的把"\r"字符给过滤了。在此留个疑问,如果哪位读者知道答案,可以告诉我下。
linux下如何删除windows换行符^M
要将a.txt里的^M去掉并写入b.txt,则使用如下指令cat a.txt | tr -d "^M" > b.txt
注意:语句中的^M是通过ctrl+V, ctrl+M输入的。特指/r字符
- Linux和windows换行符区别及使用说明
- Linux和Windows换行符的区别
- windows和linux下换行符区别
- Windows和Linux换行符的区别
- linux和windows换行符的区别
- linux和windows换行区别
- 回车符和换行符区别【Windows和Linux换行符的区别】
- 回车符和换行符区别【Windows和Linux换行符的区别】
- 回车符和换行符区别【Windows和Linux换行符的区别】
- 换行符在Linux和Windows下的区别
- 换行符在Linux和Windows下的区别
- 关于windows和Linux的换行符的区别
- java换行符在windows和linux下区别
- linux mac和windows换行符的区别
- windows和linux换行规则的区别
- Linux和windows、Mac回车换行区别
- windows和linux换行规则的区别
- windows下换行和linux下换行的区别
- 深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第四节 参数传递对堆栈的影响 2
- makefile及条件编译
- hdu 4213 Sokoban(模拟)
- Andorid Activity生命周期
- LeetCode(2) AddTwoNumbers
- Linux和windows换行符区别及使用说明
- PL\SQL 学习笔记(二) pl\sql 变量声明 与 exception
- Sqlite使用
- 使用命令行查看应用的数据
- c++中.dll与.lib文件的生成与使用
- jquery .fn
- STM-CortexM3系列微处理器软件体系的自动架构
- UIScrollView用法
- 免费的编程中文书籍索引