LINUX下文件字符集编码查看与转换并文件名编码转换
file ip.txt(加上-i選項可強制顯示字符集)
ip.txt: UTF-8 Unicode text, with escape sequences
一、運用iconv命令執行編碼轉換文件內容編碼轉換
iconv命令用于轉換指定文件的編碼,默許輸出到規范輸出裝備,亦可指定輸出文件。
用法: iconv [選項...] [文件...]
有如下選項可用:
輸入/輸出格式規范:
-f, --from-code=稱號 原始文本編碼
-t, --to-code=稱號 輸出編碼
信息:
-l, --list 羅列一切已知的字符集
輸出控制:
-c 從輸出中疏忽無效的字符
-o, --output=FILE 輸出文件
-s, --silent 關閉告誡
--verbose 打印進度信息
-?, --help 給出該系統求助列表
--usage 給出扼要的用法信息
-V, --version 打印順序版本號
例子:
iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt
這個命令讀取aaa.txt文件,從utf-8編碼轉換為gb2312編碼,其輸出定向到bbb.txt文件。
二、文件名編碼轉換
由于如今用linux,原來在windows里的文件都是用GBK編碼的。所以copy到linux下是亂碼,文件內容能夠用iconv來轉換可是好多中文的文件名仍舊亂碼,找到個能夠轉換文件名編碼的命令,就是convmv。
convmv命令細致參數
比如
convmv -f GBK -t UTF-8 *.mp3
不過這個命令不會直正的轉換,你能夠看到轉換前后的比擬。假設要直正的轉換要加上參數 --notest
convmv -f GBK -t UTF-8 --notest *.mp3
-f 參數是指出轉換前的編碼,-t 是轉換后的編碼。這個千萬不要弄錯了。不然能夠仍舊亂碼哦。尚有一個參數很有用。就是 -r 這個表示遞歸轉換現在目錄下的一切子目錄。
三、更好的傻瓜型命令行工具enca,它不但能智能的識別文件的編碼,并且還支持成批轉換。
1.安裝
$sudo apt-get install enca
2.檢查現在文件編碼
enca -L zh_CN ip.txt
Simplified Chinese National Standard; GB2312
Surrounded by/intermixed with non-text data
3.轉換
命令格式如下
$enca -L 現在言語 -x 目標編碼 文件名
比如要把現在目錄下的一切文件都轉成utf-8
enca -L zh_CN -x utf-8 *
enca -L zh_CN file 檢驗文件的編碼
??????? enca -L zh_CN -x UTF-8 file 將文件編碼轉換為"UTF-8"編碼
enca -L zh_CN -x UTF-8 < file1 > file2 假設不想掩蓋原文件能夠這樣,很容易吧。
轉自:http://www.yqdown.com/caozuoxitong/Linux/28974.htm
總結
以上是生活随笔為你收集整理的LINUX下文件字符集编码查看与转换并文件名编码转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ssh 错误: ssh_exchange
- 下一篇: linux 其他常用命令