本文“植物微生物组”公众号原创,ID: plantmicrobiome
作者:刘永鑫
编辑:翟志文
Editplus 远程打开、保存文件
- 下载Editplus(
https://www.editplus.com/
)后默认安装,然后百度检索软件对应版本的注册名和序列号将之填入对应的框内。 - 设置Editplus,添加Open Remote和Save As Remote 功能到菜单栏,如图01所示。
- 设置连接的远程服务器信息,如图02所示。
- 打开远程文件,例如打开家目录下的~/.bashrc文件,添加如下代码到该文件的最后一行,然后新建任务窗口,发现用户名出现如图03变化。
export PS1='[\[\033[01;32m\]\u@\h:\[\033[01;34m\]\w\[\033[00m\]]\$'
Windows/Linux换行符的处理
- 在Execel新建一个包含Windows字符的文件,另存为test2.txt格式文件到本地,内容如图04所示
。
2. 将该文件传输到Linux系统下,用 cat -A test2.txt
命令查看该文件,呈现如图05所示的内,其中,“^I” 表示windows下的制表符,^M$
表示Windows下的换行符,比Linux下多一个^M
。
。
3. 首先,给该文件进行备份,命名为test.bak; cp test2.txt test.bak
4. 可以直接使用sed命令替换掉”^M”,如下所示:
注意这里的^M
不是两个字符,是一个字符,输入方式为Ctrl+V,再Ctrl+M
sed -i 's/^M//' test2.txt
另一种^M
的表示方法为\r
sed -i 's/\r//' test2.txt
第三种方式,可以在~/.bashrc中编辑命令的缩写,自定义命令。
5. 在bashrc文件中添加一行代码alias sedM='sed -i 's/^M//g''
,设置上述命令的alias,保存后执行如下命令替换:
sedM test
- 使用dos2unix命令进行替换。
dos2unix test
- 每次替换后,使用如下命令查看是否替换成功:
cat -A test
- 替换成功的文件内容应如图06所示。
。
Windows Linux Mac换行符
系统 | 换行符 | 正则表达式 |
---|---|---|
Windows | ^M$ | \r\n |
Linux | $ | \n |
Mac | ^M | \r |
所以我们经常会遇到这样的情况:
- Linux处理Windows文本出错,
因为比如行尾为B,但Linux会读为B^M,发现问题用上面提取的方法转换。
- Windows记事本打开Linux文本内容在一行
这其实不算啥问题,用个高级点的软件再打都不会出问题,如editplus, ultraedit等编程工具都支持Linux换行符。
- Mac下的文件在Linux上处理
将^M换为$
sed -i 's/\r/\n/' test.txt
现在你都懂了吗,遇到不同来源的文件,可以轻松用sed,dos2unix实现格式转换了吧。