Linux文本文件中^M符号的处理
2013-12-17 13:46
239 查看
在linux下,有时我们用vi打开一些windows下编辑过的文本文件,我们会发现文件的每行(或某些行)结尾都会有一个^M符号(不限于此,有时其他程序生成的文件也可能有此符号),这可能是因为dos下的编辑器和linux下的编辑器对文件行末的回车符处理不一致所致,也可能是生成文本文件的程序编写有问题所致。
对于回车符的定义:
windows:0D0A
unix/linux: 0A
MAC: 0D
比较快捷的去除这些符号的方法有这么几种:
1、是用vi的命令:
使用vi打开文本文件
vi dos.txt
命令模式下输入
:set fileformat=unix
:w
注:该方法不能保证一定有效。
2、vi下使用正则表达式替换
g/^M/s/^M//
或者
%s/^M//g
3、使用sed 工具
sed ’s/^M//’ filename > tmp_filename
4、既然window下的回车符多了‘ ’,那么当然通过删除‘ ’ ,也可以实现:
tr -d " "
5、最后一个方法是最便捷也最有效的方法
在终端下输入命令:
$ dos2unix filename
直接就可以转换成unix格式!
本文出自 “第二次启航” 博客,转载请与作者联系!
对于回车符的定义:
windows:0D0A
unix/linux: 0A
MAC: 0D
比较快捷的去除这些符号的方法有这么几种:
1、是用vi的命令:
使用vi打开文本文件
vi dos.txt
命令模式下输入
:set fileformat=unix
:w
注:该方法不能保证一定有效。
2、vi下使用正则表达式替换
g/^M/s/^M//
或者
%s/^M//g
3、使用sed 工具
sed ’s/^M//’ filename > tmp_filename
4、既然window下的回车符多了‘ ’,那么当然通过删除‘ ’ ,也可以实现:
tr -d " "
5、最后一个方法是最便捷也最有效的方法
在终端下输入命令:
$ dos2unix filename
直接就可以转换成unix格式!
本文出自 “第二次启航” 博客,转载请与作者联系!
相关文章推荐
- linux对^M换行符的处理
- Linux下文本文件中^M 符号问题的解决
- linux sed命令参数及用法详解---linux 利用script来处理文本文件
- 处理Linux的echo命令不输出转义符号的问题
- Linux 下VIM去掉在windows下编辑的文本文件里面回车符号
- Linux下如何处理文本文件内容中的^M
- 处理linux的echo命令不输出转义符号的问题
- 【使用linux 并发命令parallel 加快处理文本文件】-原来是坑爹啊。
- linux sed命令参数及用法详解---linux 利用script来处理文本文件
- linux下的文本文件处理
- linux【Shell脚本】逐行处理文本文件
- linux下使用vim编辑文本文件时显示^M的解决办法
- Linux下文本文件中^M 符号问题的解决
- Linux下处理文件中的^M
- linux_shell_awk 处理 文本文件 并导入excel
- Linux下文本文件中^M 符号问题的解决
- Linux下文本文件中^M 符号问题的解决
- linux处理 ^M
- 去掉linux文本文件中的 ^M 符号
- Linux下处理BOM头和^M的简单方法