论坛首页 综合技术论坛

shell批处理中利用vi设置文件的fileformat

浏览 1652 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-01-05  

dos格式文件传输到unix系统时,会在每行的结尾多一个^M,即dos文件中的换行符“\n\r”会被转换为unix文件中的换行符“\n”,而此文件若是一个可执行文件的话,会导致此文件不能被执行,转换的方式有下面一个:

 

vi exec.sh
:set ff=unix(或者:set fileformat=unix)
:wq

 

如果以上步骤要求在一个shell批处理文件中完成,那么该怎么办?

 

可以这样:

vi +':w ++ff=unix' +':q' ${file}

 这样一条命令就可以搞定了,但是要严格注意上面空格的位置,不能多不能少。

 

参见:

http://stackoverflow.com/questions/82726/how-do-i-convert-dos-files-to-linux-files-in-vim

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics