文本文件中的换行符在不同操作系统中的区别
程序员文章站
2024-02-25 17:26:57
...
文本文件中的换行符在不同操作系统中表现各有不同,这里我们先列一下各自的区别,然后再说一下文本在不同系统间流转使用需要注意的相关事项
Ascii中的空白字符编码
ASCII Name | Description | C Escape Sequence |
---|---|---|
nul | null byte | \0 (zero) |
bel | bel character | \a |
bs | backspace | \b |
ht | horizontal tab | \t |
np | formfeed | \f |
nl | newline | \n |
cr | carriage return | \r |
不同操作系统的换行符
operating system | end of line sequences |
---|---|
Windows | \r\n |
Unix | \n |
Mac | \r |
常见换行符相关问题
Windows上的文本转移到Linux上,替换处理换行符
I、 在Windows上创建的sh脚本,复制到Linux上执行, 就可能会因为换行符的原因而报错
- 报错提示类似如下
line 7: $'\r': command not found
- 我们查看下文件内容及编码
# 使用`cat -v`可以查看到^M(\r\n)字符
cat -v restart.sh
#!/bin/bash^M
cd `dirname $0`^M
sh ./stop.sh^M
sh ./start.sh^M
# 使用vi命令可以查看并设置文件编码
vi restart.sh
# 查看编码
set: ff ---回车
fileformat=doc (文件编码为windows平台)
fileformat=unix (文件编码为unix平台)
# 修改编码
set: ff=unix --- 回车
:wq! ---保存退出(文件编码被改为unix, 此时^M字符也就被消除了)
上一篇: Linux 集群脚本基础
下一篇: c#使用反射调用类型成员示例
推荐阅读