linux shell 中文件编码查看及转换方法
一、查看文件编码。
在打开文件的时候输入:set fileencoding
即可显示文件编码格式。
二、文件编码转换
1、在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
在打开的文件中输入:set fileencoding=utf-8
2、使用iconv转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个 编码的文件转换成GBK编码
iconv -f UTF-8 -t GBK file1 -o file2
iconv的用法:
用法: iconv [选项...] [文件...]
Convert encoding of given files from one encoding to another.
输入/输出格式规范:
-f, --from-code=NAME 原始文本编码
-t, --to-code=NAME 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent suppress warnings
--verbose 打印进度信息
-?, --help 给出该系统求助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号
将GB2312编码的文件内容转换为UTF-8
iconv -f GB2312 -t UTF-8 file-name > new-file-name
将UTF-8编码的文件内容转换为GB2312
iconv -f UTF-8 -t GB2312 file-name > new-file-name
注意:转换前一定要将重要的文件备份,特别是转换文件内容的时候
三、文件名编码转换:
从linux往windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名 中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。
在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。
1、先看一下你的系统上是否安装了convmv,如果没安装的话在终端输入下面的命令安装:
sudo yum -y install convmv
2、下面看一下convmv的具体用法:
convmv -f 源编码 -t 新编码 [选项] 文件名
常用参数:
-r 递归处理子文件夹
--notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。
--list 显示所有支持的编码
--unescap 可以做一下转义,比如把%20变成空格
比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下:
convmv -f UTF-8 -t GBK --notest utf8编码的文件名
这样转换以后"utf8编码的文件名"会被转换成GBK编码(只是文件名编码的转换,文件内容不会发生变化)
转载于:https://www.cnblogs.com/fashflying/p/6895208.html
linux shell 中文件编码查看及转换方法相关推荐
- linux shell 清空文件,查看文件,写入文件
1. 清空文件内容 echo "" > "$work_path/upload.config"cat /dev/null > $Off_upgrade ...
- linux下使用iconv转换编码,linux iconv 转换文件编码
查看文件编码 file -i filename 递归转换(包括子文件夹) find default -type d -exec mkdir -p utf/{} \; find default -typ ...
- 如何理解Linux shell中的“2>1”(将文件描述2(标准错误输出)的内容重定向到文件描述符1(标准输出))(尼玛>符号竟然不支持搜索,害我搜搜不到,只能搜)
文章目录 前言 有何妙用 如何理解 总结 前言 有时候我们常看到类似这样的脚本调用: ./test.sh > log.txt 2>&1 这里的2>&1是什么意思?该如 ...
- linux判断目录是否存在命令,linux shell 中判断文件、目录是否存在的方法
本文主要介绍了linux shell 中判断文件.目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为 ...
- Linux shell中在vim打开的文件中查找关键字
linux shell中使用vi命令打开文本文件后,如果需要查找字符,可在normal模式下直接按"/"进入查找模式,输入要查找的字符并按下回车,vim会跳到第一个匹配的位置. 按 ...
- linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别
在linux shell中, 执行shell script的方式有多种, 有什么区别呢? 现在用一个简单例子再来说下. a.sh的内容是: #! /bin/bash echo hello world ...
- Linux shell中的一个问题 ${}带正则匹配的表达式
目前在准备龙芯项目的PMON,在研究其编译过程的时候,看到一些make 语句,百思不得其解.后来在shell编程中看到一点资料,牵扯到Shell中的正则表达式.故记录下来,以备后来查阅. 问题: 在某 ...
- linux中600是什么权限,linux系统中文件的权限
查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...
- Day25 linux shell中的特殊符号与命令
2019独角兽企业重金招聘Python工程师标准>>> linux shell中的特殊符号 *:代表零个或多个任意字符 ?:只代表一个任意字符,不管是数字还是字母,只要是一个字符,都 ...
最新文章
- No view found for id 0x7f0900d8
- python创建对象的格式为_Python入门基础学习(面向对象)
- 怎样在表格中选出同一类_3分钟教会你如何将不同表格中的数据关联在一起
- 深度丨AI界的七大未解之谜:OpenAI丢出一组AI研究课题
- 【移动开发】Android中强大的适配功能----Fragment(碎片)总结
- Python基础教程:return函数的用法
- pkg_resources.DistributionNotFound: distribution was not found and is required by the application
- 欢迎来到Python循环小课堂
- Windows系统键盘钩子(原创)
- 如何通过GoLand进行Debug
- 卷积码主要是对抗_采用卷积编码的原因和优势 浅析卷积码之特点
- Inverting the Generator of a GAN 生成器反向
- R语言将变量分组的三种方法(含cut函数介绍)
- QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之04【EC20模组SIM卡和驻网模组指令说明】
- 如何判断运行中的代码是调试模式(debug),还是运行模式
- 【d3.js实践教程01】d3基本操作
- 腾讯云cos申请配置
- 常用离子液体有哪些?粘度和密度是多少?(解答)
- 第一章 人工智能的研究和发展《2022年斯坦福AI指数报告》中文全解读
- 大数据ACA试题-3