11.1.3. 使用 iconv 转换文件名
这里是一个示例脚步,在同一目录下,将在老的操作系统系统下创建的文件名编码,转换为现代 UTF-8.
#!/bin/sh
ENCDN=iso-8859-1
for x in *;
do
mv "$x" "$(echo "$x" | iconv -f $ENCDN -t utf-8)"
done
“$ENCDN
“ 变量定义了在老的操作系统下,文件名使用的原始编码,见 表 11.2 “编码值和用法的列表”.
对于更加复杂的情况,请使用适当的编码作为 mount(8) 的选项(参见 第 8.4.6 节 “文件名编码”) 来挂载包含有这样文件名的文件系统(比如说,磁盘上的一个分区),使用 “cp -a
“ 命令来拷贝它的整个内容到另外一个使用 UTF-8 挂载的文件系统上。