Linux下文本文件中^M 符号问题的解决

来源:互联网 发布:图像算法工程师招聘 编辑:程序博客网 时间:2024/05/24 06:03

问:我在Windows中通过FTP传一个文本文件到Linux中,但是打开文本文件后每行最后都有^M的标志。由于很长,用编辑器去除太麻烦,有什么解决办法呢?

答:为了解决这个问题,Linux下专门有两个工具可以互换Windows格式和Linux格式,它们分别是dos2unix和unix2dos。比如用下面的命令就可以将文件名为“filename”文件从Windows格式转换为Linux文本格式。

正文:

在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致,

对于回车符的定义:
windows:0D0A
unixlinux: 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格式,就OK了!~

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 鼻涕又浓又黄绿怎么办 玉露已经徒长了怎么办 多肉长出了多头怎么办 多肉已经徒长了怎么办 脖子抻筋了 很疼怎么办 声带肥大造成说话声音沙哑怎么办 轻微的骨性龅牙怎么办 19岁没了晨勃怎么办 早上晨勃消失了怎么办 阴茎勃而不坚怎么办 一个月婴儿痰多怎么办 孕妇咳绿色浓痰怎么办 买的戒指大了怎么办 孩子鞋子买大了怎么办 鞋子不大但掉跟怎么办 鞋子长了一码怎么办 新鞋有点顶脚怎么办 宝宝鞋子买小了怎么办 鞋子买的小了怎么办 粉底液颜色偏黄怎么办 腿长的不直怎么办 多梦睡眠质量差怎么办 颈椎病引起的脑供血不足怎么办 骨头轻微的骨裂怎么办 怀孕六个月不想要怎么办 脚面一用力筋疼怎么办 肚子经常饿的响怎么办 一宿没睡第二天怎么办 婚姻走不下去了 怎么办 作业好多怎么办想哭了 熬夜后恶心想吐怎么办 脸上长了小肉瘤怎么办 6sp电池不耐用怎么办 小孩个子长得慢怎么办 4岁儿童身高偏矮怎么办 13孩子身高偏矮怎么办 9岁儿童身高偏矮怎么办 3岁宝宝个子偏矮怎么办 6岁宝宝个子偏矮怎么办 5岁宝宝个子偏矮怎么办 2岁宝宝个子偏矮怎么办