基础002. Editplus编辑远程文件

本文“植物微生物组”公众号原创,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
2. 将该文件传输到Linux系统下,用 cat -A test2.txt命令查看该文件,呈现如图05所示的内,其中,“^I” 表示windows下的制表符,^M$表示Windows下的换行符,比Linux下多一个^M

image
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
  1. 使用dos2unix命令进行替换。
dos2unix test
  1. 每次替换后,使用如下命令查看是否替换成功:
cat -A test
  1. 替换成功的文件内容应如图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实现格式转换了吧。

猜你喜欢

转载自blog.csdn.net/woodcorpse/article/details/81487366