1. 程式人生 > >linux文本格式轉換

linux文本格式轉換

一個 選項 打印字符 並且 rgs 安靜 打開 linux文本 因此

dos2unix命令用來將DOS格式的文本文件轉換成UNIX格式的(DOS/MAC to UNIX text file format converter)。
DOS下的文本文件的換行符為\r\n,表示成十六進制就是0D 0A,而Unix下的文本文件換行符為\n,表示成十六進制就是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文本格式轉換