文件及内容处理 - 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. [Go] golang结构体成员与函数类型

    package main import ( "fmt" ) //定义一个类型 type tsh struct { //定义成员,类型是func() string test func ...

  2. 【转】三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别

    关于inflate参数问题,我想很多人多多少少都了解一点,网上也有很多关于这方面介绍的文章,但是枯燥的理论或者翻译让很多小伙伴看完之后还是一脸懵逼,so,我今天想通过三个案例来让小伙伴彻底的搞清楚这个 ...

  3. 纯CSS修改checkbox复选框样式-02

    我有用过这个纯修改input属性的 本人修改后的代码和效果图(修的不好), 这个是改动最简单的: css代码 input[type=checkbox]{ visibility: hidden; } i ...

  4. 关于ajax用户名验证和jquery实现简单表单验证

    首先来说用户名验证: 前台: <tr> <td class="tableleft">教师编号</td> <td><input ...

  5. (办公)plug-in org.eclipse.jdt.ui was unable to load class org.eclipse.jdt.internal

    今天上午开发环境遇到这个问题,解决方案如下,(解决了之后,项目并没有丢失.) 因为Eclipse的这个plug-in org.eclipse.jdt.ui was unable to load cla ...

  6. MySQL InnoDB下关于MVCC的一个问题的分析

      这个是网友++C++在群里问的一个关于MySQL的问题,本篇文章实验测试环境为MySQL 5.6.20,事务隔离级别为REPEATABLE-READ ,在演示问题前,我们先准备测试环境.准备一个测 ...

  7. python 实例六

    https://www.cnblogs.com/evablogs/p/6783498.html 题目:斐波那契数列. 程序分析:这个数列从第3项开始,每一项都等于前两项之和.故 n=1,2,f=1 n ...

  8. Leaflet实现动态线路

    一.引用Leaflet脚本样式,和Leaflet Ant Path 插件 下载地址: Leaflet:https://leafletjs.com/download.html Leaflet Ant P ...

  9. Kafka 特性

    Kafka 特性 标签(空格分隔): Kafka 支持多个生产者 多个生成者连接Kafka来推送消息,这个和其他的消息队列功能基本上是一样的 支持多个消费者 Kafka支持多个消费者来读取同一个消息流 ...

  10. Svn在工作中的实践感悟

    Svn是一款管理项目代码的版本控制系统,是基于集中式的版本控制系统.在工作中,由于实际开发工作的需要,部门是使用Svn来管理日常的项目开发任务.使用这么长时间了,来谈谈对Svn的感悟. 首先,说下工作 ...