iconvlinux 是一個基于 iconv 的命令行工具,用于在 Linux 系統中將文件從一種字符編碼轉換為另一種字符編碼
使用 iconv 命令進行轉換:
iconv 命令的基本語法如下:
iconv -f FROM_ENCODING -t TO_ENCODING INPUT_FILE -o OUTPUT_FILE
其中:
-f:指定輸入文件的字符編碼。-t:指定輸出文件的字符編碼。INPUT_FILE:要轉換的文件。-o:指定輸出文件的名稱。例如,將一個名為 input.txt 的文件從 UTF-8 轉換為 GBK 編碼,可以執行以下命令:
iconv -f utf-8 -t gbk input.txt -o output.txt
使用管道(pipe)進行轉換:
如果你需要將多個文件或從一個文件到另一個文件的轉換過程中進行一些處理,可以使用管道將 iconv 與其他命令組合起來。例如,將名為 input.txt 的文件從 UTF-8 轉換為 GBK 編碼,并將結果保存到一個名為 output.txt 的文件中,同時刪除原始文件,可以執行以下命令:
iconv -f utf-8 -t gbk input.txt | sed 's/old_text/new_text/g' > output.txt && rm input.txt
這里,我們使用 sed 命令替換文本中的某些內容。
使用腳本進行批量轉換:
如果你需要處理大量文件,建議編寫一個腳本來自動化轉換過程。以下是一個簡單的 Bash 腳本示例,用于將當前目錄下所有以 .txt 結尾的文件從 UTF-8 轉換為 GBK 編碼:
#!/bin/bash
for file in *.txt; do
iconv -f utf-8 -t gbk "$file" -o "${file%.txt}_gbk.txt"
done
將此腳本保存為 convert_to_gbk.sh,并通過運行 chmod +x convert_to_gbk.sh 使其可執行。然后,你可以通過運行 ./convert_to_gbk.sh 來執行批量轉換。