linux文本格式转换
Posted 录上
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文本格式转换相关的知识,希望对你有一定的参考价值。
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。
DOS下的文本文件的换行符为
,表示成十六进制就是0D 0A,而Unix下的文本文件换行符为
,表示成十六进制就是0A。DOS格式的文本文件在Linux上用较低版本的vi打开行尾会显示^M,并且很多命令都无法的处理好这种格式的文件,因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。
使用cat -v查看文件中的非打印字符
语法:
dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
选项:
-k:保持输出文件的日期不变
-q:安静模式,不提示任何警告信息
-V:查看版本
-c:转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII
-o:写入到源文件
-n:写入到新文件
实例
转换单个或多个文件
最简单的用法是dos2unix直接接一个文件或多个文件
dos2unix file1 file2 file3 ...
批量转换目录下的文件
Linux本身提供了dos2unix和unix2dos这两个命令来实现windows和linux文件的转换,
但是dos2unix和unix2dos本身没有提供递归选项也就是批量修改的方式,因此可以借助xargs命令实现。xargs的命令的作用就是将参数列表转换成小块分段传递给其他命令。
假设需要转换格式的文件所在目录为 public/components
find public/components/ -name "*" | xargs dos2unix
优点:批量转换、工作量小。借助管道符和xargs来实现的批量转换,此方法可以实现其它命令的批量操作(如批量删除等)
以上是关于linux文本格式转换的主要内容,如果未能解决你的问题,请参考以下文章
SQLite 片段函数实现不会在 TextView 中将文本格式化为 HTML