linux 删除文件中 m,Windows & Linux 文件格式之迷 < VI下删除文本中的^M>

可以用 cat –A命令来观察以DOS (Windows系统) 建立的档案的特殊格式,发现在DOS使用的断行字元(换行)为^M$,我们称为 CR 与 LF 两个符号。而在Linux系统下,换行符号仅有LF($)。因此,从windows上传文件至linux系统时,需要对文件进行格式转换。

MS-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下写的代码,行尾后“^M”符号。

将Windows中的文本文件传到Linux后,会在每行的末尾多出一个^M符号。当进行Shell编程时,该符号可能会导致正则表达式匹配失败。

在linux系统中安装dos2unix与unix2dos两个软件。

#yum install –y dos2unix

#yum install –y unix2dos

使用以下命令对文件格式进行转换

#dos2unix [-kn] file [newfile]

#unix2dos [-kn] file [newfile]

选项与参数:

-k          :保留该档案原本的 mtime 时间格式 (不更新档案上次内容经过修订的时间)

-n          :保留原本的旧档,将转换后的内容输出到新档案。

eg:  dos2unix  -k –n lamp.sh lamp.sh1  将windows下面编辑的文本lamp.sh转换为linux格式下的lamp.sh1,并保留文本的时间格式。

或者利用以下命令进行替换:

vim –b lamp.dos.sh打开文件,再以一下命令进行替换。

:1,$s/^M//g         替换掉所有的^M(先按ctrl+V再按ctrl+M得到)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值