文件及内容处理 - 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. 40K刚面完Java岗,这些技术必须掌握

    学习是一份苦差事,这句话真的不是说说而已,真的是你认真学习过,才会懂得,学习是多么的辛苦,这点我深有体会,但是我还是想说,没办法,想要更好的生活,你就要不断地努力学习. 所幸的是,程序员这个行业,学习 ...

  2. Android项目刮刮奖详解(二)

    Android项目刮刮奖详解(一) 前言 上期我们简单地实现了一个画板的功能,用户可以在上面乱写乱画,其实,刮刮奖也是如此,用户刮奖的时候也是乱写乱画的. 刮刮奖原理 一共有两层画布,底层画布存放中奖 ...

  3. 微信公众平台设置URL和Token接收接口事件推送

    最近做对接微信闪开发票-微信发票名片,里面有个接收用户提交抬头接口是微信推送事件到公众号后台,该事件将发送至开发者填写的URL(登录公众平台进入[开发者中心设置]). 开发者可通过事件推送完成数据统计 ...

  4. Flask 系列之 优化项目结构

    说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验目标 完善环境配置,添加 异常请求 处理 实现 400.404 ...

  5. cookie特殊字符在游览器被转义

    环境:vue2.x axios 1.如果只是前端自己用,那么可以用 encodeURIComponent(string) 存 ,用decodeURIComponent(string)取. 2.遇到一种 ...

  6. django项目环境搭建

    本文转载自: https://blog.csdn.net/xiaogeldx/article/details/89038299 在码云平台创建项目 版本控制的种类 主要使用github(最主流) 国内 ...

  7. Easyui datagrid 实现表格记录拖拽

    datagrid 实现表格记录拖拽 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 jquery-easyui-datagrid-dnd 下载地址: http ...

  8. 如何解决夜神模拟器连不上adb的问题

    要搞一个安卓的项目.由于电脑系统是年前刚刚重装的,系统里啥都没有,于是临时安装了一下android studio 2.2,然后又装了一个夜神模拟器.工程打开后,编译通过了,于是打开夜神模拟器,想要通过 ...

  9. 关于.net中的DataSet和DataTable

    DataSet ds = new DataSet(); ds.Tables.Add(); ds.Tables[].Columns.Add("name"); ds.Tables[]. ...

  10. c/c++ 多线程 unique_lock的使用

    多线程 unique_lock的使用 unique_lock的特点: 1,灵活.可以在创建unique_lock的实例时,不锁,然后手动调用lock_a.lock()函数,或者std::lock(lo ...