在windows顺手用记事本打了一个程序,拷贝到linux发现每一行后面都出现^M这个字符。今天刚好把vim编辑器的tutor看完,发现vi里面有一招可以解决这个问题。

:#,#s/string1/string2/g

#,# 表示从第几行到第几行之间
s 表示替换文字
/string1 表示要替换的字符串
/string2 表示替换成的字符串
/g 加g与不加,在于判断是否整行执行,不加的话只替换当前行的第一个字符串

s 前面还能用通配符 %表示整个文档

所以,要转换txt文件到unix格式,只需要执行:

$vim text.txt

:%s/^M//g //这里要输入^M,必须按 ctrl-v 然后回车
:w newtest.txt //保存为新文件,或直接 :wq退出就行了