Linux下如何处理文本文件内容中的^M
2014-08-20 14:52
726 查看
Windows上写好的文件,在Linux或者Unix下打开,每一行都会出多出^M这样的字符,这是因为Windows与*nix的换行符不同所致,我们看看文件格式有什么不同。
在Linux下查看文件格式:
# file filename
# 20140304110001.csv: ISO-8859 text //不带有^M
# 20140304110002.csv: ISO-8859 text, with CRLF line terminators //带有^M
Windows下处理的文件就带有CRLF行终止符。
以下有几种处理方式:
1. vi命令行模式下输入
:%s/^M$//g # 去掉行尾的^M。
:%s/^M//g # 去掉所有的^M。
:%s/^M/[ctrl-v]+[enter]/g # 将^M替换成回车。
:%s/^M/\r/g # 将^M替换成回车。
2. 使用sed命令。和vi的用法相似:
# sed -e 's/^M/\n/g'filename
3. 使用命令
使用dos2unix命令,一般的*nix发布版本都带有这个小工具,即Windows - *nix文件转换。
格式: dos2unix filename
转换多个文件
格式:dos2unix file1 file2 file3 ….
上面转换文件的时候都会修改原来的文件,使用 -k参数,或者 -n参数可以不改变文件属性。
格式:dos2unix -n oldfile newfile //新建一个文件,保持源文件不变
格式:dos2unix -k filename //保持文件时间戳不变
同样工具提供了*nix - windows文件格式转换命令:unix2dos,参数同dos2unix。
*注:"^M",需要使用Ctrl + V + Ctrl + M键入,而不是数字6上面的^+字母M。
在Linux下查看文件格式:
# file filename
# 20140304110001.csv: ISO-8859 text //不带有^M
# 20140304110002.csv: ISO-8859 text, with CRLF line terminators //带有^M
Windows下处理的文件就带有CRLF行终止符。
以下有几种处理方式:
1. vi命令行模式下输入
:%s/^M$//g # 去掉行尾的^M。
:%s/^M//g # 去掉所有的^M。
:%s/^M/[ctrl-v]+[enter]/g # 将^M替换成回车。
:%s/^M/\r/g # 将^M替换成回车。
2. 使用sed命令。和vi的用法相似:
# sed -e 's/^M/\n/g'filename
3. 使用命令
使用dos2unix命令,一般的*nix发布版本都带有这个小工具,即Windows - *nix文件转换。
格式: dos2unix filename
转换多个文件
格式:dos2unix file1 file2 file3 ….
上面转换文件的时候都会修改原来的文件,使用 -k参数,或者 -n参数可以不改变文件属性。
格式:dos2unix -n oldfile newfile //新建一个文件,保持源文件不变
格式:dos2unix -k filename //保持文件时间戳不变
同样工具提供了*nix - windows文件格式转换命令:unix2dos,参数同dos2unix。
*注:"^M",需要使用Ctrl + V + Ctrl + M键入,而不是数字6上面的^+字母M。
相关文章推荐
- 在LINUX中如何查找文件内容中含有某字符串的文件
- 用Excel打开csv文件时,如何处理数字内容展现会自动转换格式的问题
- 使用PYTHON实现如何修改文本文件中的内容
- linux 下查看文本文件内容
- linux 下查看文本文件内容
- 如何处理在linux下装TDS的时候,系统提示找不到文件之类的错误
- 如何在linux下快速替换多个文件的文本?
- 如何在linux下查看内容过长文件(例如.历史日志)并导出为txt文件
- Linux 如何在路径下或者文件里查找指定内容
- GOOGLE Gadgets 处理远程内容,如何提取和控制远程文本(通常为 HTML)、XML、JSON 和 RSS/Atom 供稿数据。
- LINUX下处理文本中的IP网段,把其中的IP地址抽取出来,放到另一个文件中
- Linux.Script.如何修改已被调用的只读文件内容
- linux sort命令参数及用法详解---linux将文本文件内容加以排序命令
- 请教Ado.Net按文本读取CSV/Txt文件时,如何禁止将内容转换成数字
- 用Excel打开csv文件时,如何处理数字内容展现会自动转换格式的问题
- linux下用文本处理器处理二进制文件后的终端乱码问题
- linux下用文本处理器处理二进制文件后的终端乱码问题
- linux下使用find xargs grep查找文件及文件内容,sed,gawk常用处理
- Java 如何提取 XML 文件的文本内容(论坛回复摘要)
- Linux 如何用vim命令把编辑文件的几行内容拷贝到一个新文件