在RHEL7服务器中,我们确实通过Outlook或直接附加从其他笔记本电脑接收文件,这些文件存储在配置为iocharset = iso8859-1编码的CIFS驱动程序中。
由于某些原因,也许是由于编码问题,应用程序无法识别无效字符,而是将其替换为¿,但是在系统级,同一无效字符被替换为?,因此我创建了一个小脚本来重命名文件名并替换为正常吗?通过¿:
find . -name "*[?]*" -exec bash -c 'x="{}"; y="$(sed "s/[?]\+/¿/g" <<< "$x")" && mv "$x" "$y" ' \;
问题是最近我确实注意到在?之前有一个隐藏的/添加的,我的命令不再起作用,系统也看不到/,要找到它,我需要按tab键来找到隐藏/
这是一个示例:
ls
Salvage?_Not_Released_?
我键入mv Salvage
,然后按 Tab 来完成文件名,然后出现/?
mv Salvage\?_Not_Released_\?
您对如何解决此问题有任何想法吗?