我有一个名为 data 的文件夹,其中的文件夹包含带有 å ö ö 的名称,我需要一个脚本来将这些文件夹 naames 中的所有 å ö ö 替换为 aa ö。示例:在“Folder1 - ö - å”之前 之后:“Folder1 - o - a”
问问题
480 次
1 回答
1
存在各种rename
命令。其中之一使用语法
rename ö o *
第二个使用
rename s/ö/o/g *
用于man rename
找出您的系统有哪一个。
第一个可以实现为 bash 函数:
Rename () {
if (($# < 3)); then
echo Usage: Rename from to files... 1>&2;
return 1;
fi;
from="$1";
to="$2";
shift 2;
for file in "$@";
do
mv "$file" "${file/$from/$to}";
done
}
请注意,它仅替换第一次出现的子字符串。如果要替换所有匹配项,请使用${file//$form/$to}
.
谨防!
有几种方法可以在 Unicode 中结束编码 ö。因此,它可以是 utf-8 c3 b6
,也可以是6f cc 88
. 如果您的文件系统使用 unicode,您可能必须尝试所有可能性。
于 2013-02-21T10:22:16.847 回答