linux下文件特殊字符处理
来源:互联网 发布:算法图解 pdf 微盘 编辑:程序博客网 时间:2024/06/05 15:37
在windows下编辑的文件,放到linux下执行经常会出现各种莫名其妙的问题,用vim打开查看文件,会看到一些特殊字符,常见的有
1. ^M
该字符出现在一行文本的结尾,出现的原因是windows使用CR(回车\r)LF(换行\t)两个字符来作为一行文本的结束符号,而linux下是使用LF单个字符作为单行文本结束,因此在windows下编辑过的文本中如果使用过回车来换行,在linux下就会出现^M字符,可以用如下命令来消除:
sed -i 's/\r//g' fileName
-i 表示在原始文件中直接修改,重定向则可以用:
sed 's/\r//g' oldFileName > newFileName
2. BOM
该字符是由于在windows下编辑的文件,采用utf作为编码格式保存时,编辑器会在文件开头添加一个BOM标记(Byte Order Mark)来标识utf编码所采用的字节序,使用如下命令可以看到文件头的BOM字符:
cat fileName | head -1 | sed -n l
而我们经常采用的utf-8采用单字节编码,因此不存在字节序的问题,而BOM在linux中处理又会存在各种问题,因此可以采用如下命令去除文件中的BOM标记:
sed -i 's/^\xEF\xBB\xBF//;' fileName
1. ^M
该字符出现在一行文本的结尾,出现的原因是windows使用CR(回车\r)LF(换行\t)两个字符来作为一行文本的结束符号,而linux下是使用LF单个字符作为单行文本结束,因此在windows下编辑过的文本中如果使用过回车来换行,在linux下就会出现^M字符,可以用如下命令来消除:
sed -i 's/\r//g' fileName
-i 表示在原始文件中直接修改,重定向则可以用:
sed 's/\r//g' oldFileName > newFileName
2. BOM
该字符是由于在windows下编辑的文件,采用utf作为编码格式保存时,编辑器会在文件开头添加一个BOM标记(Byte Order Mark)来标识utf编码所采用的字节序,使用如下命令可以看到文件头的BOM字符:
cat fileName | head -1 | sed -n l
而我们经常采用的utf-8采用单字节编码,因此不存在字节序的问题,而BOM在linux中处理又会存在各种问题,因此可以采用如下命令去除文件中的BOM标记:
sed -i 's/^\xEF\xBB\xBF//;' fileName
0 0
- linux下文件特殊字符处理
- linux 下文件特殊权限
- Linux下文件的特殊权限
- linux下文件权限和特殊权限说明
- linux下文件的特殊权限s和t
- linux下文件的特殊权限s和t
- linux下文件的特殊权限s和t
- linux下文件的特殊权限s和t
- linux下文件的特殊权限s和t
- Linux expect 特殊字符处理
- Linux系统下文件字符编码转换脚本
- Gnu Linux下文件的字符编码及转换工具
- Linux下文件解压缩
- linux下文件锁
- linux下文件结构
- Linux下文件打包
- linux下文件操作
- Linux下文件说明
- Web前端开发人员和设计师必读文章推荐【系列九】
- 太仓公交线路二级线网发班时刻(城乡公交)
- 如何解决Cloud9在vim模式下整行复制的时候自动换行的问题
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
- varnish waf
- linux下文件特殊字符处理
- android的AVD加sdcard
- 【UVa 10780】 Again Prime? No time.
- wifi无线破解记录
- 网线的制作
- 移动互联网
- 东软睿道实训日记—第四天
- MySQL安装后设置root 密码
- ImageIO.framework