需要一些指导来解决这个问题。在多个子文件夹中有10000个文件,这些子文件夹中的编码已被破坏。通过ls命令,我看到了一个名为“ F'$'\ 366''ljesedel.pdf”的文件名,在文件名的开头和结尾都包含“。那只是瑞典语单词åäö错误的一个例子,在这个例子中应该是'Följesedel.pdf'。如果我跑步#>查找。然后我看到这样的文件列表:./F?ljesedel.pdf
编码不同。到底如何解决这个问题?最明显的方法:
myvar='$'\366''
char="ö"
find . -name *$myvar* -exec rename 's/$myvar/ö' {} \;
和其他可能的方法失败,因为找 。 -name由于找不到它?而不是“真实”字符“'$'\ 366”“
任何建议或指导将不胜感激。
除非-name
,否则-regex
将匹配它。例如:
find . -regex $'.*\366.*' -exec rename 's/\366/ö/' {} \+