woodcorpse的个人博客分享 http://blog.sciencenet.cn/u/woodcorpse

博文

基础002. Editplus编辑远程文件

已有 2186 次阅读 2018-8-7 19:54 |个人分类:软件|系统分类:科研笔记

本文“植物微生物组”公众号原创,ID: plantmicrobiome

作者:刘永鑫

编辑:翟志文

原文链接:基础002. Editplus编辑远程文件

Editplus 远程打开、保存文件

  1. 下载Editplus(https://www.editplus.com/)后默认安装,然后百度检索软件对应版本的注册名和序列号将之填入对应的框内。
  2. 设置Editplus,添加Open Remote和Save As Remote 功能到菜单栏,如图01所示image
  3. 设置连接的远程服务器信息,如图02所示image
  4. 打开远程文件,例如打开家目录下的~/.bashrc文件,添加如下代码到该文件的最后一行,然后新建任务窗口,发现用户名出现如图03变化。

image

export PS1='[\[\033[01;32m\]\u@\h:\[\033[01;34m\]\w\[\033[00m\]]\$'

Windows/Linux换行符的处理

  1. 在Execel新建一个包含Windows字符的文件,另存为test2.txt格式文件到本地,内容如图04所示

image

  1. 将该文件传输到Linux系统下,用 cat -A test2.txt命令查看该文件,呈现如图05所示的内,其中,“^I” 表示windows下的制表符,^M$表示Windows下的换行符,比Linux下多一个^M

image

  1. 首先,给该文件进行备份,命名为test.bak; cp test2.txt test.bak
  2. 可以直接使用sed命令替换掉”^M”,如下所示:

注意这里的^M不是两个字符,是一个字符,输入方式为Ctrl+V,再Ctrl+M

sed -i 's/^M//' test2.txt

另一种^M的表示方法为\r

sed -i 's/\r//' test2.txt

第三种方式,可以在~/.bashrc中编辑命令的缩写,自定义命令。

  1. 在bashrc文件中添加一行代码alias sedM='sed -i 's/^M//g'',设置上述命令的alias,保存后执行如下命令替换:
sedM test
  1. 使用dos2unix命令进行替换。
    dos2unix test
  2. 每次替换后,使用如下命令查看是否替换成功:
    cat -A test
  3. 替换成功的文件内容应如图06所示。

image

Windows Linux Mac换行符

系统换行符正则表达式
Windows^M$\r\n
Linux$\n
Mac^M\r

所以我们经常会遇到这样的情况:

  1. Linux处理Windows文本出错,

因为比如行尾为B,但Linux会读为B^M,发现问题用上面提取的方法转换。

  1. Windows记事本打开Linux文本内容在一行

这其实不算啥问题,用个高级点的软件再打都不会出问题,如editplus, ultraedit等编程工具都支持Linux换行符。

  1. Mac下的文件在Linux上处理

将^M换为$

sed -i 's/\r/\n/' test.txt

现在你都懂了吗,遇到不同来源的文件,可以轻松用sed,dos2unix实现格式转换了吧。



https://wap.sciencenet.cn/blog-3334560-1128070.html

上一篇:基础004:R语言数据处理和变换——dplyr
下一篇:2018谷歌学术指数发布——看看微生物领域高引文章和杂志
收藏 IP: 103.77.56.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-21 12:16

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部