将 ext4 文件名转换为 NTFS 的脚本

ncv*_*ncv 7 ntfs ext4 posix filenames special-characters

ext4 允许文件名中包含 NTFS 不允许的某些字符。是否有脚本可以替换文件名中的这些字符?

Rya*_*son 3

以下内容应将文件名中所有不允许的字符替换为下划线。请注意,这可能会导致多个文件被重命名为相同的内容。例如,如果您有两个名为file>/txt和 的文件file<.txt,则两个文件都将被重命名为file_.txt,并且一个文件将覆盖另一个文件,并将其删除。

find /path/to/ntfs/mount/ -print0 | xargs -0 rename 's{[\\:*?"<>|]}{_}g'

该命令对 rename 的 perl 版本有效,这是 Debian 提供的。您的发行版可能提供语法略有不同的重命名版本。

  • 此语法仅对 [`perl-rename`](https://gist.github.com/raw/883553/01bb2c924a5724ea2b6804886c1a54329473fefa/prename) 有效,它在 Debian 上作为 `rename` 提供。其他发行版带有来自 *util-linux* 的更简单的“重命名”。 (2认同)