文件及内容处理 - iconv、dos2unix

1. iconv:转换文件的编码格式

iconv命令的功能说明

iconv 命令是 linux 下用于文件转编码的常用命令,对于同时使用 windows 系统和 linux 系统的同学来说文件转编码也是经常遇到的操作。

iconv命令的语法格式

iconv [OPTION] [files]
iconv [选项...] [文件...]

iconv命令的常用参数说明:

iconv 参数很多,表1为 iconv 命令的参数及说明:

表1: iconv 命令的参数及说明

参数选项 解释说明
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
-l, --list 列举所有已知的字符集
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息
-?, --help 给出该系统求助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号

iconv命令的实践操作

范例1: 列出当前支持的字符编码:

iconv -l

范例2: 文件转 utf-8 编码

--------------------------------------------------------------
==>将文件转换成utf8格式<==
--------------------------------------------------------------
iconv abc.sh -o utf8 

范例3: 文件 GBK 编码转 UTF-8 编码

iconv test.txt -f GBK -t UTF-8 -o test2.txt

范例4: 将文件 file1 转码,转后文件输出到 fil2 中 

--------------------------------------------------------------
==>没-o那么会输出到标准输出<==
--------------------------------------------------------------
iconv  -f GBK -t UTF-8 file1 -o file2 

范例5: GB2312 编码转 UTF-8 编码

iconv -f gb2312 -t utf-8 file1 > file2
or
iconv -f gb2312 -t utf-8 file1 -o file2

2. dos2unix:将DOS格式文件转换成UNIX格式

dos2unix命令的功能说明

dos2unix 是将 Windows 格式文件转换为 UnixLinux 格式的实用命令。Windows 格式文件的换行符为\r\n ,而 Unix&Linux 文件的换行符为\n . dos2unix 命令其实就是将文件中的\r\n 转换为 \n

dos2unix命令的语法格式

dos2unix [options] [FILE ...] [-n INFILE OUTFILE ...]
dos2unix [参数] [文件]

dos2unix命令的常用参数说明:

dos2unix 参数不多,表1为 dos2unix 命令的参数及说明:

表1: dos2unix 命令的参数及说明

参数选项 解释说明
-h 显示命令dos2unix联机帮助信息。
-k 保持文件时间戳不变
-q 静默模式,不输出转换结果信息等
-v 显示命令版本信息
-c 转换模式
-o 在源文件转换,默认参数
-n 保留原本的旧档,将转换后的内容输出到新档案.默认都会直接在原来的文件上修改

dos2unix命令的实践操作

范例1: 多种演示

 ll
total 5592
drwxrwxr-x 2 dsw dsw 4096 Sep 30 15:15 ./
drwxrwxr-x 14 dsw dsw 4096 Sep 30 15:13 ../
-rwxr--r-- 1 dsw dsw 2857196 Sep 30 15:15 book.csv*
-rwxr--r-- 1 dsw dsw 2857196 Sep 30 15:15 test.csv*

dos2unix book.csv          <-->在源文件基础上将此文件从dos格式转换为unix格式
dos2unix -n book.csv newbook.csv <-->保留源文件
dos2unix book.csv book.csv     <-->一次转换多个文件
dos2unix -k book.csv         <-->不改变转换后文件的时间戳
dos2unix -p book.csv      <-->静默转换

今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津

Shell命令-文件及内容处理之iconv、dos2unix的更多相关文章

  1. Shell命令-文件及内容处理之more、less

    文件及内容处理 - more.less 1. more:分页显示文件内容 more命令的功能说明 more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白 ...

  2. Shell命令-文件及内容处理之cat、tac

    文件及内容处理 - cat.tac 1. cat:显示文件内容 cat命令的功能说明 cat命令用于连接多个文件并且打印到屏幕输出或重定向到指定文件中 cat命令的语法格式 cat [OPTION]. ...

  3. Shell命令-文件及内容处理之head、tail

    文件及内容处理 - head.tail 1. head:显示文件内容头部 head命令的功能说明 head 命令用于显示文件头部内容,默认执行 head 命令会输出文件开头的 10 行. head命令 ...

  4. Shell命令-文件及内容处理之cut、rev

    文件及内容处理 - cut.rev 1. cut:切割文件内容 cut命令的功能说明 cut 命令用于显示每行从开头算起num1 到 num2 的文字. cut命令的语法格式 cut [OPTION] ...

  5. Shell命令-文件及内容处理之diff、vimdiff

    文件及内容处理 - diff.vimdiff 1. diff:比较两个文件区别 diff命令的功能说明 diff命令用比较文件的差异.diff以逐行的方式,比较文本文件的异同处.如果指定要比较目录,则 ...

  6. Shell命令-文件及内容处理之wc,tr

    文件及内容处理 - wc.tr 1. wc:统计文件的行数.单词数或字节数 wc命令的功能说明 wc 命令用于计算字数.利用 wc 指令我们可以计算文件的字节数,字数,或是列数,若不指定文件名称,或是 ...

  7. Shell命令-文件及内容处理之vi、vim

    文件及内容处理 - vi.vim 1.Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器 ...

  8. Shell命令-文件及内容处理之grep(egrep)、join

    文件及内容处理 - grep(egrep).join 1. grep(egrep):文本过滤工具 grep(egrep)命令的功能说明 grep命令是Linux系统中最重要的命令之一,其功能是从文本文 ...

  9. Shell命令-文件及内容处理之split、paste

    文件及内容处理 - split.paste 1. split:分割文件为不同的小片段 split命令的功能说明 split 命令用于将一个文件分割成数个.该指令将大文件分割成较小的文件,在默认情况下将 ...

随机推荐

  1. Java开发笔记(四十九)关键字super的用法

    前面介绍了如何从Bird类继承而来Swallow类,按道理子类应当继承父类的所有要素,但是对于构造方法来说,Swallow类仅仅继承了Bird类的默认构造方法,并未自动继承带参数的构造方法.如果子类想 ...

  2. 读书笔记--《Effective C#》总结

    值得推荐的一本书,适合初中级C#开发人员 第1章 C#语言元素 原则1:尽可能的使用属性(property),而不是数据成员(field) ● 属性(property)一直是C#语言中比较有特点的存在 ...

  3. 记录 FTPClient 超时处理的相关问题

    apache 有个开源库:commons-net,这个开源库中包括了各种基础的网络工具类,我使用了这个开源库中的 FTP 工具. 但碰到一些问题,并不是说是开源库的 bug,可能锅得算在产品头上吧,各 ...

  4. GsonFormat插件

    GsonFormat插件可以根据JSONObject格式的字符串,自动生成实体类参数. 要使用这个插件,首先要做的事下载它.方法如下: 方法一: 1.Android studio File->S ...

  5. 关于MongoDB 固定集合(capped collection)的知识梳理

    一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection). 固定集合可以声明collection的容量大小,其行为类似于循环 ...

  6. 记录Vim常用命令

    命令 简单说明 i 进入编辑模式,光标在原位置 I 进入编辑模式,光标在行首位置 o 从光标所在行,下面一行开始编辑 O 从光标所在行,上面一行开始编辑 a 从光标当前字符后编辑 A 从光标所在行的行 ...

  7. 【Teradata】使用arcmain进行不落地数据迁移(管道)

    1.备份脚本准备 //脚本bak_ds.arc .logon 192.168.253.222/sysdba,learning1510; archive data tables(DS) ,release ...

  8. git -分支管理(创建、推送、删除)

    分支创建并推送: 1.查看当前所有分支,当前分支前面会标出一个*号 git branch -a 2.新建分支 git branch android_O 3.切换到新分支 git checkout an ...

  9. error C2381: “exit”: 重定义;__declspec(noreturn) 不同

    问题: error C2381: “exit” : 重定义:__declspec(noreturn) 不同 解决办法: 调换一下头文件的包含次序: #include <GL/glut.h> ...

  10. 学号 20175329 2018-2019-3《Java程序设计》第九周学习总结

    学号 20175329 2018-2019-3<Java程序设计>第八周学习总结 教材学习内容总结 第十五章 泛型 可以使用"class 名称"声明一个类,为了和普通的 ...