用错误的编码替换文件名的一部分

问题描述 投票:0回答:1

需要一些指导来解决这个问题。在多个子文件夹中有10000个文件,这些子文件夹中的编码已被破坏。通过ls命令,我看到了一个名为“ F'$'\ 366''ljesedel.pdf”的文件名,在文件名的开头和结尾都包含“。那只是瑞典语单词åäö错误的一个例子,在这个例子中应该是'Följesedel.pdf'。如果我跑步#>查找。然后我看到这样的文件列表:./F?ljesedel.pdf

编码不同。到底如何解决这个问题?最明显的方法:

  myvar='$'\366''
  char="ö"
  find . -name *$myvar*   -exec rename 's/$myvar/ö'  {} \;

和其他可能的方法失败,因为找 。 -name由于找不到它?而不是“真实”字符“'$'\ 366”“

任何建议或指导将不胜感激。

regex bash perl rename batch-rename
1个回答
0
投票

除非-name,否则-regex将匹配它。例如:

find . -regex $'.*\366.*' -exec rename 's/\366/ö/' {} \+
© www.soinside.com 2019 - 2024. All rights reserved.