||
本文“植物微生物组”公众号原创,ID: plantmicrobiome
作者:刘永鑫
编辑:翟志文
https://www.editplus.com/
)后默认安装,然后百度检索软件对应版本的注册名和序列号将之填入对应的框内。export PS1='[\[\033[01;32m\]\u@\h:\[\033[01;34m\]\w\[\033[00m\]]\$'
。
cat -A test2.txt
命令查看该文件,呈现如图05所示的内,其中,“^I” 表示windows下的制表符,^M$
表示Windows下的换行符,比Linux下多一个^M
。。
cp test2.txt test.bak
注意这里的^M
不是两个字符,是一个字符,输入方式为Ctrl+V,再Ctrl+M
sed -i 's/^M//' test2.txt
另一种^M
的表示方法为\r
sed -i 's/\r//' test2.txt
第三种方式,可以在~/.bashrc中编辑命令的缩写,自定义命令。
alias sedM='sed -i 's/^M//g''
,设置上述命令的alias,保存后执行如下命令替换:sedM test
dos2unix test
cat -A test
。
系统 | 换行符 | 正则表达式 |
---|---|---|
Windows | ^M$ | \r\n |
Linux | $ | \n |
Mac | ^M | \r |
所以我们经常会遇到这样的情况:
因为比如行尾为B,但Linux会读为B^M,发现问题用上面提取的方法转换。
这其实不算啥问题,用个高级点的软件再打都不会出问题,如editplus, ultraedit等编程工具都支持Linux换行符。
将^M换为$
sed -i 's/\r/\n/' test.txt
现在你都懂了吗,遇到不同来源的文件,可以轻松用sed,dos2unix实现格式转换了吧。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-21 12:16
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社