接下来是这个问题 重命名所有子目录中的文件和文件夹以删除字符
我想使用命令行从 HDD 上的文件名和文件夹中删除所有可能导致问题的常见字符,例如 / \ : * ? " < > |。
答案1
基于 Perl 的rename
命令接受正则表达式模式,因此您可以使用字符集表达式[\:*?"<>|]
(请注意,不能/
在 Unix 文件名中使用或替换,因为它是路径分隔字符)。
例如给定
$ ls fi*
file file1 file2 file.log 'fi:le*na<me>' file.txt
然后
$ rename -n 's/[\:*?"<>|]//g' *
rename(fi:le*na<me>, filename)