linux?shell文件轉(zhuǎn)碼iconv命令的使用
例子
從文件中讀寫:
iconv -f UTF-8 -t ASCII//TRANSLIT -o out.txt in.txt iconv -f sjis -t UTF-8 infile > outfile
搜索了谷歌,發(fā)現(xiàn)了如下信息:
iconv -f US-ASCII -t UTF-8 infile > outfile
ASCII是UTF-8的子集,所以所有的ASCII文件都是UTF-8編碼的。ASCII文件中的字節(jié)和“將其編碼為UTF-8”所產(chǎn)生的字節(jié)將是完全相同的字節(jié)。它們之間沒有區(qū)別。
Tims-MacBook-Pro:~ tjohns$ echo 'Stuff' > deleteme
Tims-MacBook-Pro:~ tjohns$ cat deleteme
Stuff
Tims-MacBook-Pro:~ tjohns$ file -I deleteme
deleteme: text/plain; charset=us-ascii
Tims-MacBook-Pro:~ tjohns$ echo -ne '\xEF\xBB\xBF' > deleteme
Tims-MacBook-Pro:~ tjohns$ echo 'Stuff' >> deleteme
Tims-MacBook-Pro:~ tjohns$ cat deleteme
Stuff
Tims-MacBook-Pro:~ tjohns$ file -I deleteme
deleteme: text/plain; charset=utf-8
打印所有字符集編碼的列表:
iconv -l
目的
將字符的編碼從一個編碼頁編碼方案轉(zhuǎn)換為另一個編碼頁編碼方案。
語法
iconv [-cs] -f FromCode -t ToCode [ FileName… ] iconv -l
描述
iconv命令將從標(biāo)準(zhǔn)輸入或指定文件讀取的字符編碼從一個編碼字符集轉(zhuǎn)換為另一個編碼字符集,然后將結(jié)果寫入標(biāo)準(zhǔn)輸出。輸入和輸出編碼的字符集由FromCode和ToCode參數(shù)標(biāo)識。輸入數(shù)據(jù)應(yīng)該由FromCode參數(shù)指定的代碼集中的字符組成。如果在命令行上沒有指定FileName參數(shù),則iconv命令從標(biāo)準(zhǔn)輸入讀取。
該命令可通過SMIT SMIT iconv快速路徑執(zhí)行。iconv命令使用LOCPATH環(huán)境變量來搜索格式為iconv/FromCodeSet_ToCodeSet的代碼集轉(zhuǎn)換器。“LOCPATH”的默認(rèn)值為“/usr/lib/ nlls /loc”。
Flags
項目 | 描述 |
---|---|
-c | 從輸出中省略輸入文件中不能轉(zhuǎn)換的字符。不能被轉(zhuǎn)換的字符包括在輸入的FromCode中無效的字符,或者在輸出的ToCode中沒有對應(yīng)的字符。省略不可轉(zhuǎn)換字符后,iconv向前移動到輸入的下一個字節(jié)以轉(zhuǎn)換下一個字符。如果-c未被使用,則iconv在遇到輸入中不能轉(zhuǎn)換的字符時退出。-c的存在或不存在并不影響iconv的退出狀態(tài)。 |
-f FromCode | 指定用于對輸入數(shù)據(jù)進(jìn)行編碼的代碼集。-f標(biāo)志和FromCode參數(shù)之間的空格是可選的。 |
-l | 將所有支持的FromCode和ToCode值寫入標(biāo)準(zhǔn)輸出。 |
-s | 禁止向標(biāo)準(zhǔn)錯誤寫入與無效字符有關(guān)的任何消息。當(dāng)不使用-s時,每個不可轉(zhuǎn)換或被截斷的字符都會被寫入標(biāo)準(zhǔn)錯誤。是否使用-s并不影響iconv的退出狀態(tài)。 |
-t ToCode | 指定要將輸出數(shù)據(jù)轉(zhuǎn)換為的代碼集。-t標(biāo)志和ToCode參數(shù)之間的空格是可選的。 |
FileName | 指定要轉(zhuǎn)換的文件。 |
退出狀態(tài)
該命令返回以下退出值:
項目 | 描述 |
---|---|
0 | 成功轉(zhuǎn)換輸入數(shù)據(jù)。 |
1 | 不支持指定的轉(zhuǎn)換;給定的輸入文件不能被打開讀取;或者存在用法語法錯誤。 |
2 | 在輸入流中遇到一個不可用的字符。 |
到此這篇關(guān)于linux shell文件轉(zhuǎn)碼iconv命令的使用的文章就介紹到這了,更多相關(guān)shell iconv命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell腳本導(dǎo)入導(dǎo)出數(shù)據(jù)的項目示例
在工作中,很多場景都會涉及到數(shù)據(jù)的導(dǎo)入導(dǎo)出,本文就介紹一下使用Shell腳本導(dǎo)入導(dǎo)出數(shù)據(jù)的項目示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04分享一個可以通過命令簡寫執(zhí)行對應(yīng)命令的Shell腳本
這篇文章主要分享了一個可以通過命令簡寫執(zhí)行對應(yīng)命令的Shell腳本,幫助大家更好的理解和使用shell,感興趣的朋友可以了解下2020-12-12