加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

linux下的文本dos格式转unix格式,去除^M符号

发布时间:2022-10-20 22:01:33 所属栏目:Unix 来源:网络
导读: linux下的文本dos格式转unix格式,去除^M符号
今天工作在处理批量查询的统计需求,由于原始数据是从execl拷贝的文本,通过shell去分析这批数据。等待很久后去取结果,发现查询导出后的数据为

linux下的文本dos格式转unix格式,去除^M符号

今天工作在处理批量查询的统计需求,由于原始数据是从execl拷贝的文本,通过shell去分析这批数据。等待很久后去取结果,发现查询导出后的数据为空,这下郁闷至极(还有很多事情要做)。首先质疑shell脚本把所有执行记录的sql语句都echo到一个文本中发现所有导出来的每条查询记录都被分成两行,刚开始还没意识到^M的惹的祸,反反复复去调整shell脚本,以致于将shell脚本改成负担最重的全记录搜索,没加任何条件。

(也许是太多事情压着要做,那时脑子不够冷静没有去抓问题主因),问题依旧没得到解决,崩溃。最后单独拿出一条记录出来分析unix媒体转换,仔细一看echo出来的sql记录有^M,无语。

(我怎么会把^M这个问题给忽视了,真应该自我鄙视下,难道莫不是总要吃次亏)。最后打紧sed-i“s/^M//g”替换掉,重新开搞。感叹自己最近一段时间的状态的确不好,老是感觉很烦躁,是真需要调节下。

在网上又搜索到一篇将UNIX和WINDOWS间的换行转换的文章,学习补充下:

语法

dos2unix[-kn]file[newfile]从DOS转换到UNIX

unix2dos[-kn]file[newfile]从UNIX转换到DOS也就是WINDOWS

-k:保留该文档原来的mtime时间(不更新文档上次内容经过修改的时间)

-n:保留原来的文档,将转换后的内容输入到新文档中例如:dos2unix-noldnew

范例如下:

$cat-vkillws

#!/bin/bash^M

admin_dir="/home/admin"^M

functioncheck_user{^M

if[[`whoami`!="admin"]];then^M

echo"Apacheonlycanstartbyadminuser,exit!"^M

exit^M

fi^M

}^M

$dos2unix-kkillws

dos2unix:convertingfilekillwstoUNIXformat...

$cat-vkillws

#!/bin/bash

admin_dir="/home/admin"

functioncheck_user{

if[[`whoami`!="admin"]];then

echo"Apacheonlycanstartbyadminuser,exit!"

exit

fi

}

还有一种转换方法:

直接vimfile输入setff=unix.保存退出!

经常从windons拷贝到linux下的要注意此格式。

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章