我认为对我来说理想的解决方案是Nautilus 脚本,它对选定的文件执行编码转换。
以下脚本读取选定文件的编码,如果不是 utf8,则执行 utf8 转换,但我不知道如何使其适用于多个文件:
CHARSET="$(file -bi "$1"|awk -F "=" '{print $2}')"
if [ "$CHARSET" != utf-8 ]; then
iconv -f "$CHARSET" -t utf8 "$1" -c -o "$1.utf8"
fi
Run Code Online (Sandbox Code Playgroud)
假设您的脚本名为convert-to-utf-8.sh. 以下是让它在多个文件中工作的方法:
for filename in file1 file2 file3 ; do ./convert-to-utf-8.sh "$filename" ; done
Run Code Online (Sandbox Code Playgroud)
您可以将该 for 循环合并到脚本本身中,如下所示:
for filename in "$@"; do
CHARSET="$(file -bi "$filename"|awk -F "=" '{print $2}')"
if [ "$CHARSET" != utf-8 ]; then
iconv -f "$CHARSET" -t utf8 "$filename" -c -o "$filename.utf8"
fi
done
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用多个文件名运行脚本,如下所示:
./convert-to-utf-8.sh file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1899 次 |
| 最近记录: |