`

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编码(只是文件名编码的转换,文件内容不会发生变化)
分享到:
评论

相关推荐

    linux下目录文件字符编码转换shell脚本

    使用方法:./fconv type1 type2 dir 含义:from 'type1' to 'type2' in directory 'dir'

    shell实现字符编码转换工具分享

    总的来说,这个shell脚本提供了一种简单且实用的方法来批量处理文件的字符编码转换问题,尤其适用于需要在GBK和UTF-8之间频繁切换的场景。通过这个脚本,我们可以避免手动转换大量文件的繁琐过程,提高了工作效率。

    Linux shell中文文档

    - **DOS/Windows与Linux/Unix文件格式和字符集转换**:文件在不同系统间的换行符和编码差异需要转换,如使用`dos2unix`或`iconv`工具。 3. **其他实用工具** - **ftp**:用于文件传输协议,可以从远程服务器下载...

    linux转化windows文件编码格式脚本

    Linux 转换 Windows 文件编码格式脚本 Linux 转换 Windows 文件编码格式脚本是将 Windows 上的文件编码格式转换为 UTF-8 编码,以便在移植 Windows 代码到 Linux 下时避免注释代码乱码和编码格式引起的编译错误。 ...

    Linux JSON 命令总结.zip_json linux_shell解析json

    `jq`是Linux下的一个强大的JSON处理器,它可以用来查询、过滤、转换JSON数据。通过使用简单的语法,你可以轻松提取、修改或操作JSON对象中的键值。例如,`jq '.key'`可以用来获取JSON对象中名为'.key'的值。 2. **...

    shell脚本 字体转换 gb2312到UTF-8

    这是shell写的一个小脚本 为了让那些在linux下查看windows下的一些文件提供方便 只需将后缀改成.sh 再将其拷贝到你要转换的文件夹下 运行就OK

    Shell脚本实现二维码图片生成

    Shell脚本是Linux系统中的一种强大工具,它允许用户通过编写命令行指令序列来执行自动化任务。在这个场景中,我们讨论的是一个特定的Shell脚本,它的目标是生成二维码图片。在旧有的系统中,如果没有源码可供修改,...

    Linux下中文文件名乱码问题的详解 - CSDN博客1

    他们发现,Windows系统默认使用GBK编码,而Linux默认使用UTF-8编码,因此在处理文件名时需要进行编码转换。作者提供了一个自定义的`path_info()`函数来替代原生的`pathinfo`函数,以确保在处理中文文件名时能正确...

    视频转换Linux定时检测

    综上所述,"视频转换Linux定时检测"是一个结合了Linux shell脚本、文件系统监控、多媒体处理和任务调度的综合应用,对于提高工作效率和自动化工作流程具有重要意义。通过学习和理解这些技术,不仅可以解决视频转换...

    Learning Linux Shell Scripting.pdf

    ### Linux Shell Scripting知识点概述 #### 一、Shell 脚本基础 - **Shell 的概念**:在 Linux 系统中,Shell 是一个命令解释器,它接收用户输入的命令,并将这些命令传递给操作系统内核去执行。Shell 也是用户与...

    linux下图片批量转base64

    #功能说明:批量将图片文件转换未base64编码文件(txt格式) #使用说明:将需要转换的批量图片与当前脚本存到到同一目录, # 给当前脚本赋予可执行权限 # 执行脚本即可生成与之对应的txt文件,文件内存放base64编码 #...

    linux shell编程

    Linux Shell编程是Linux系统管理与自动化任务的核心技能之一。Shell是一种命令行解释器,它允许用户通过文本命令与操作系统交互,而Linux Shell编程则涉及到编写脚本,将一系列命令组合在一起,实现更复杂的自动化...

    Linux shell 脚本全面学习

    ### Linux Shell 脚本全面学习 #### 一、Linux脚本编写基础 ##### 1.1 语法基本介绍 **1.1.1 开头** - **Shebang**: 在 Linux shell 脚本中,第一行必须是 shebang 行,格式为 `#!/bin/sh` 或者 `#!/usr/bin/env...

    linux-VideoConversionTool基于FFmpeg的视频转换小工具

    Linux下的VideoConversionTool是一款利用FFmpeg库实现的视频转换工具,它主要由Shell脚本编写,方便用户在命令行环境中快速、便捷地进行视频格式的转换。FFmpeg是一款强大的跨平台多媒体处理工具,包含了编解码器、...

    LINUX与UNIX SHELL编程指南

    在提供的压缩文件中,《LINUX与UNIX SHELL编程指南》和"LINUXyuUNIX%20SHELL_600it"可能是书籍的电子版,其中后者可能是经过编码处理的文件名,读者可以通过解码或直接使用支持URL编码的工具打开阅读。 总的来说,...

    Shell脚本把文件从GBK转为UTF-8编码

    总结来说,这个Shell脚本通过接收一个文件或目录作为参数,能够有效地将GBK编码的文本文件转换为UTF-8编码。在处理大量文件时,这种自动化的方法大大提高了效率,减少了手动操作的繁琐。需要注意的是,转换过程中...

    linux shell发送Email邮件的方法详解

    为解决这个问题,我们需要对中文进行Base64编码,通常是先将其转换为UTF-8编码,然后再进行Base64编码。在Python中,可以这样操作: ```python import base64 base64.standard_b64encode(u'测试'.encode('utf-8')) ...

    Linux下实现UTF-8和GB2312互相转换的方法

    2. **GB2312**: 是中国大陆地区的一种汉字编码标准,主要支持简体中文字符集,是早期计算机系统中的主流编码方式之一。 3. **iconv**: 是一个用于字符集转换的库函数,在Linux等类Unix系统中广泛使用。它提供了iconv...

    linux就这样学

    描述中提到的“绝对好用-汉字文本与unicode码相互转换U的工具”,这是一个专门用于处理汉字编码转换的应用程序。它可以帮助用户在Unicode编码和其他编码之间进行转换,这对于处理来自不同源的汉字文本非常有用。...

    运维常用linux命令\shell技巧

    - **编码转换**:`iconv`用于转换文件编码,如将GBK编码的文件转换为UTF-8编码:`iconv -f gb18030 -t utf-8 original_file.txt > new_file.txt`。 - **MD5校验码**:`md5sum`用于计算文件的MD5校验码,确保文件完整...

Global site tag (gtag.js) - Google Analytics