今天介紹個文件名轉碼的工具--convmv,convmv能幫助我們很容易地對一個文件,一個目錄下所有文件進行編碼轉換,比如gbk轉為utf8等。
安裝:
復制代碼代碼如下:yum install convmv
(這裡的示例環境為CentOS系統)
語法:
復制代碼代碼如下:
convmv [options] FILE(S) ... DIRECTORY(S)
主要選項:
1、-f ENCODING
指定目前文件名的編碼,如-f gbk
2、-t ENCODING
指定將要轉換成的編碼,如-f utf-8
3、-r
遞歸轉換目錄下所有文件名
4、--list
列出所有支持的編碼
5、--notest
默認是只打印轉換後的效果,加這個選項才真正執行轉換操作。
常用參數:
-r 遞歸處理子文件夾
–notest 真正進行操作,默認情況下是不對文件進行真實操作
–list 顯示所有支持的編碼
–unescap 可以做一下轉義,比如把%20變成空格
-i 交互模式(詢問每一個轉換,防止誤操作)
convmv 的使用方法:
convmv -f 源編碼 -t 新編碼 [選項] 文件名
例子:
轉換文件編碼, 以 BIG5轉換成 UTF-8 為例:
[/code]
$ convmv -f BIG5 -t UTF-8 /disk1
[/code]
列出可以用的編碼:
復制代碼代碼如下:
$ convmv --list
轉換檔名中的 %xx 這種 16 進位的編碼:
復制代碼代碼如下:
$ convmv --unescape 檔案
把檔名中的字母全轉換成小寫:
復制代碼代碼如下:
$ convmv --lower 檔案
要注意的地方是它預設只會把轉換的結果秀出來, 要再加上 --notest 參數才會真正去改文件名。
另外幾個用到的參數是 -r 會連子目錄的文件一起轉換, -i 是互動模式, 一個一個檔案詢問是否轉換等等, 可以用 --help 參數看說明。