我有一个从 NAS 驱动器中取出的硬盘,其中的文件来自 Mac - 但是,某些文件名曾经是,例如“备份 16/07/14”,然后在 NAS 上更改为“备份 16:2f07:2f14”。
这证明在将文件复制到新 NAS 时会出现问题。所以我要做的就是通过在包含所有这些其他文件夹的文件夹上运行命令将“:2f”切换为“-”。
我对 Linux 还不熟悉,所以我很困惑。我在虚拟机上将硬盘装在了 ubuntu 上。
有什么建议么?
答案1
如果你有perl-rename
aka prename
:
find . -depth -name "*:*" -exec perl-rename 's/:2f/-/g' {} +
没有:
find . -depth -name "*:*" |
while read -r name; do
mv -nT "$name" "${name//:2f/-}"
fi
答案2
你需要使用
sed
命令。它可用于代替文件名中的字符。首先查找包含
find
命令并使用“|”将它们通过管道传送到 sed。