替换^M字符
在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”。有几种方法可以处理。
1.使用dos2unix命令。一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便:
$ dos2unix myfile.txt
上面的命令会去掉行尾的^M。
2.使用vi的替换功能。启动vi,进入命令模式,输入以下命令:
:%s/^M$//g # 去掉行尾的^M。
:%s/^M//g # 去掉所有的^M。
:%s/^M/[ctrl-v]+[enter]/g # 将^M替换成回车。
:%s/^M/\r/g # 将^M替换成回车。
3.使用sed命令。和vi的用法相似:
$ sed -e 's/^M/\n/g' myfile.txt
注意:这里的“^M”要使用“CTRL-V CTRL-M”生成,而不是直接键入“^M”。
补充:
将Windows中的文本文件传到Linux后,会在每行的末尾多出一个^M符号。当进行Shell编程时,该符号可能会导致正则表达式匹配失败。如果想 去掉这个符号可以使用dos2unix命令。当然如果想恢复为Windows下的模式可以使用unix2dos命令。 当从Windows传来一个文件时,可以使用vim -b 命令来打开该文件,这样就能看到行尾的^M符号了,否则是看不到的。
替换^M字符的更多相关文章
- mysql中替换行首字符
替换行首字符,而不替换字段中其它地方指定字符. UPDATE table SET open_time = CONCAT('W', open_time) WHERE open_time REGEXP ' ...
- JS利用正则配合replace替换指定字符
替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下 定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一 ...
- tr 替换删除字符
1.关于tr 通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符.您 ...
- JS利用正则配合replace()函数替换指定字符
定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp,replacement) ...
- Linux 替换^M字符 方法
转自:http://blog.csdn.net/lhf_tiger/article/details/8203013 真恶心,10X流程产生的csv文件的行位居然有^M字符,害我一直在找报错原因,真是坑 ...
- Javascript replace 为什么只替换一个字符?
Javascript replace 为什么只替换一个字符? 如下代码,为什么结果是 "a2b1c1" ? 'a1b1c1'.replace('1', 2); 因为 javascr ...
- ruby中url解码并替换非法字符
url中中文字符解码 str = URI.decode(url_str) 替换非法字符 if ! str.valid_encoding? p str = str.encode("UTF-16 ...
- javascript replace 替换全部字符
$("#pageNote").html($("#note3").val().replace(/ /g, "").replace(/<b ...
- vi中如何替换某字符成“回车”?
vi中如何替换某字符成“回车”? 在 vi 中::s/,/^M/g (you need to type CTRL-V <CR> to get a ^M here)VIM - Vi IMpr ...
- 防止sql注入:替换危险字符
在用户名或者密码框中输入“11‘ or ’1‘ = '1”时,生成的sql语句将为“selec * from userInfo where name = '11' or '1' = '1' and p ...
随机推荐
- Delphi代码规范
1. 前言 本文档主要是为Delphi开发人员提供一个源代码书写标准,以及程序和文件的命名标准,使他们在编程时有一致格式可遵循.这样,每个编程人员编写的代码能够被其他人理解. 2. 源程序书写规范 2 ...
- 一、初识asyncio协程
初识asyncio协程 一.基本概念 要想了解学习协程相关知识要先对以下几个概念先行了解: 阻塞 阻塞状态是指程序未得到某所需计算资源时的挂起状态,简单说就是程序在等待某个操作未执行完前无法执 ...
- jmeter-监听器介绍与使用
12.jmeter-监听器介绍与使用 jmeter-监听器介绍与使用 察看结果树 Summary Report 聚合报告 Backend Listener Aggregate Graph 断言结果 C ...
- 跟我一起做一个vue的小项目(十)
接下来我们对城市列表页面进行优化,除了对数据优化,也会进行节流处理 //src\pages\city\components\Alphabet.vue <template> <ul c ...
- mac下更改MySQL的默认编码
mysql默认的编码是latin1,它不支持中文,所以我们一般需要修改他的默认编码格式. 打开终端1. 进入root权限sudo -i 2. cp /usr/local/mysql/support-f ...
- 了解真实的『REM』多终端屏幕适配
作者:hbxeagle 链接:github.com/hbxeagle/rem/blob/master/README.md rem 作为一个低调的长度单位,由于手机端网页的兴起,在屏幕适配中得到重用.使 ...
- 通过button将form表单的数据提交到action层
form表单中不需要写action的路径,需要给form表单一个唯一的id,将你要提交的信息的表单中的标签name="action中的javabean对象.javabean属性". ...
- Javaweb Form表单查询
1.表单(form),是一种可以由用户输入,并提交给服务器端的一个图形界面,有如下性质: (1)表单中可以输入一些内容,这些输入功能由控件提供,叫做表单元素 (2)表单中一般都有一个按钮负责提交 (3 ...
- Zookeeper 扫盲
Zookeeper 扫盲 :disappointed_relieved: 配置文件详解: tickTime:基本事件单元,以毫秒为单位,这个时间作为 Zookeeper 服务器之间或客户端之间维持心跳 ...
- linux升级或安装程序后无法进入图形界面
报错如下: Failed to start the X server (your graphical interface). lt is likely that it is not set up co ...