Windows上写好的文件,在Linux或者Unix下打开,每一行都会出多出^M这样的字符,这是因为Windows与*nix的换行符不同所致,我们看看文件格式有什么不同。*注:“^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下处理文件内容中的^M字符的介绍了,如果^M字符影响到了你的阅读,你想将其去掉的话,只需按照本文介绍的方法,就能将^M字符轻松去除了。

如何去除Linux文件的^M字符的更多相关文章

  1. 【Linux】Linux 文件中^M字符处理

    当我们把文件从Windows传到Linux环境时候,常常在每一行的末尾,会出现一些 ^M的字符.而这些字符会影响文件的正常读写和执行; 要去掉这些'^M'字符,有很多种办法,比如直接dox2unix, ...

  2. linux中c表示字符设备文件符号

    linux中c表示字符设备文件,b表示块设备文件,l表示符号链接文件,r表示可读权限,w表示可写权限.linux文件属性解读:文件类型:-:普通文件 (f)d:目录文件b:块设备文件 (block)c ...

  3. LINUX文件操作命令

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  4. Linux 文件授权

    Linux用户权限     在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,在Linux系统中,通过UID来区分用 ...

  5. Linux 文件权限、系统优化

    目录 Linux 文件权限.系统优化 1.文件权限的详细操作 1.简介: 2.命令及归属: 3.权限对于用户和目录的意义 权限对于用户的意义: 权限对于目录的意义: 4.创建文件/文件夹的默认权限来源 ...

  6. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  7. Linux文件查找.md

    Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...

  8. Linux文件类型

    1.windows系统和Linux系统的区别 windows通过问价扩展名来区分文件类型,例如*.txt是一个文本文件, linux系统文件的扩展名和文件类型没有关系 为了容易区分文件类型,linux ...

  9. 修改linux文件权限

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

随机推荐

  1. 剑指offer 面试15题

    面试15题: 题目:二进制中1的个数 题:输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 解题思路一: 最佳方法:把一个整数减去1,再和原整数做“与运算”,会把该整数最右边的1变成0 ...

  2. python中颜色设置

    实现过程: 终端的字符颜色使用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来表示(ESC是ASCII码用十进制表示是27,用八进制表示就是033 ...

  3. 0608pm单例模式and面向对象的六大原则

    //把类控制住,不让外界造她的对象class DA{ public $name; static private $dx;//存放对象的变量 //将构造变为私有,外界没法造对象 private func ...

  4. PAT 天梯赛 L1-026. I Love GPLT 【水】

    题目链接 https://www.patest.cn/contests/gplt/L1-026 AC代码 #include <iostream> #include <cstdio&g ...

  5. Funq之Lambda表达式2

    Last month I started a series of posts covering some of the new VB and C# language features that are ...

  6. Capslock and Esc

    将Caps Lock转换成Esc(windows and linux) 1. linux 下将Caps Lock 转换成Esc 作为一个vimer,Caps Lock对我(还有其他很多人)来说根本就是 ...

  7. 每天一个Linux命令(46)ifconfig命令

    在windows系统中,ipconfig命令行工具被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).     ( ...

  8. $《第一行代码:Android》读书笔记——第9章 服务

    (一)Service简介 服务适合执行那种不需要和用户交互而且还要长期运行的任务.所有的服务代码都是默认运行在主线程中,需要在服务内部手动添加子线程,在子线程中执行耗时任务.   (二)线程 1.线程 ...

  9. 一些逼格略高的 js 片段

    // 一个接一个运行 // timeout 不能直接放在 for 里面,暂时不知道为什么 function functionOneByOne(fn, times, duration) { for(va ...

  10. Git常见命令整理

    Git常见命令整理 + 注释 git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 gi ...