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. $Java-json系列(二):用JSONObject解析和处理json数据

    本文中主要介绍JSONObject处理json数据时候的一些常用场景和方法. (一)jar包下载 所需jar包打包下载百度网盘地址:https://pan.baidu.com/s/1c27Uyre ( ...

  2. HTML5(。。。。不完整)

    <!DOCTYPE html>  不区分大小写 <header>.<nav>.<article>.<section>.<sidebar ...

  3. 建议44:理解模块pickle优劣

    # -*- coding:utf-8 -*- ''' pickle 估计是最通用的序列化模块了,它还有个C 语言的实现cPickle,相比pickle 来说 具有较好的性能,其速度大概是pickle ...

  4. 【HackerRank】Find the Median(Partition找到数组中位数)

    In the Quicksort challenges, you sorted an entire array. Sometimes, you just need specific informati ...

  5. linux之下载工具wget

    常用格式:wget options URL -b,  --background        启动后转入后台执行 -c,  --continue               接着下载没下载完的文件 - ...

  6. iOS_mapKit与Core Location

    目 录: 一.使用MKMap控件 二.根据地址定位 三.在地图上添加锚点   iOS从3.0版本开始提供了MapKit.frameword支持.该框架提供了一个可被嵌入到应用程序中的地图视图类MKMa ...

  7. Docker 搭建一个Docker应用栈

    Docker应用栈结构图 Build Django容器 编写docker-file FROM django RUN pip install redis build django-with-redis ...

  8. codeforces 435B

    题意:只能对相邻的两个数字进行交换,允许k次交换,输出交换能得到的最大的数.从最高位开始寻找最优,每次寻找能交换的步数里交换到的最大值进行交换. #include<cstdio> #inc ...

  9. 多校hdu-5775 Bubble sort(线段树)

    题意根据题目中给的冒泡排序写出每个元素交换过程中该元素位置左右最大差距: 分析:因为题目中冒泡程序从后向前遍历的,假设第i个元素左边有k个比i小的数,那么i必定会向右移动k位,我们用k1记住i+k,用 ...

  10. Apollo原理

    https://github.com/ctripcorp/apollo/wiki/Apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E8%AE%BE%E8%AE%A ...