在Windows系统下编辑的文件,换行符回车的格式为'\r\n',在linux系统下,回车的格式为'\n',在Windows下编辑的文本文件在上传至linux服务器时,回车'\r\n'就显示成^M+'\n'。
用ultraedit或者notepad plus都有相应的选项可以将Windows下的文本格式文件转换成unix格式文件。比如:notepad plus中“编辑”—>“档案格式转换”—>“转换为UNIX格式”。
第一种方法:
cat -A filename 就可以看到Windows下的断元字符 ^M,要去除他,最简单用下面的命令:
第二种方法:^M 输入方法: ctrl+V ,enter
第三种方法: ^M 输入方法: ctrl+V ,enter
使用vi 进行编辑
第四种方法:^M 可用 \r 代替
简单点的方法是,在notepad++中打开,
在保存就好了。
有时在linux的文件中输入了中文,并且是以中文为行结尾的,这时再在windows的R中入去时可能报错
也就是说在windows下它是变成了一行,修改办法是使用notepad++打开
如果需要在R中直接读取文件的话,需要在read.table中添加 fileEncoding="UTF-8" 这个参数
Linux文件名、文件内容乱码,主要原因是windows上的中文编码默认是GBK,而Linux默认中文编码为UTF-8,由于编码不一致,所以导致乱码问题。为了解决这个乱码,需要对文件进行转码,具体如下:1、前提保证已安装了convmv;2、具体convmv的用法:Convmv –f 源编码 –t 新编码 [选项] 文件名一般常用参数:-r 递归处理子目录--notest 真正进行 *** 作,默认情况下是不对文件进行真实 *** 作的,只是一个预览--list 显示所有支持的编码--unescap 可以做一个转义3、比如我们有一个utf8的文件名,要求转换成gbk编码,命令如下:Convmv –f utf-8 –t gbk –notest 文件名也可以使用linux下最好用的编码转换工具iconv来进行转码 *** 作。例子:将GBK编码的文件转换成UTF-8iconv -f GBK -t UTF-8 gbkfile.txt >utf8file.txt修改一下vim的配置. 在home目录下新建.vimrc 文件.文件内容:
set encoding=utf-8
set termencoding=gbk
set fileencodings=ucs-bom,utf-8,cp936,gb18030,latin1
set ambiwidth=double
试试.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)