为了将文件写入 USB 卷,我想重命名包含 '?'、'"'、'*' 或 ':' 的文件名,以用空格替换这些字符中的任何一个。但是我在使用 '* '. 我的 bash 脚本是
for file in *
do
mv -v "'"$file"'" "'"$(echo "$file" | sed 's/\(.*\)[?"*:]\(.*\)/\1 \2/')"'"
done
'*' 不断扩展到当前目录中的文件名中。我试过使用
set -f
但是最初的“in *”不起作用。