fileformat

<转> Linux查看文件编码格式及文件编码转换

一世执手 提交于 2019-12-07 00:33:49
如果你需要在Linux 中操作windows下的文件 ,那么你可能会经常遇到文件 编码 转换的问题。Windows中默认的文件 格式是GBK(gb2312),而Linux 一般都是UTF-8。下面介绍一下,在Linux 中如何查看 文件 的编码 及如何进行对文件 进行编码 转换。 查看 文件 编码 在Linux 中查看 文件 编码 可以通过以下几种方式: 1.在Vim 中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式。 如果你只是想查看 其它编码 格式的文件 或者想解决用Vim查看 文件 乱码的问题,那么你可以在 ~/.vimrc 文件 中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样,就可以让vim自动识别文件 编码 (可以自动识别UTF-8或者GBK编码 的文件 ),其实就是依照 fileencodings提供的编码 列表尝试,如果没有找到合适的编码 ,就用latin-1(ASCII)编码 打开。 2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看 文件 编码 $ enca filename filename: Universal transformation format 8 bits; UTF-8

Shell脚本之编码格式问题

北战南征 提交于 2019-12-01 19:33:02
shell脚本异常: /bin/sh^M:bad interpreter: No such file or directory 把sh脚本在windows下修改了下,放到linux下,总是运行不能成功,每个命令的最后都被加了一个M,查找了下,原因是因为编码格式引起的。 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 解决: 1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。 2)也可在Linux中转换: #sh>vi filename 利用如下命令查看文件格式 :set ff 或 :set fileformat 可以看到如下信息 fileformat=dos 或 fileformat=unix 利用如下命令修改文件格式 :set ff=unix 或 :set fileformat=unix :wq (存盘退出) 3)使用dos2unix工具进行转换(sudo yum/apt-get install dos2unix) dos2unix filename dos2unix: converting file