替换bash中不正确显示的特殊字符



我已经使用WinSCP将大量文件(包括它们的文件夹结构)上传到我的Ubuntu 12.04 LTS服务器。目标是在Owncloud中访问这些文件。

但是,所有包含特殊字符(如德语元音变音符)的文件都会引起问题。在Ownclouds视图中,它们的名称在特殊字符处被截断,尝试查看该文件夹或文件会将您发送回文件夹根目录。

使用ls时,特殊字符总是显示为问号,例如"Moterschwei?en1.jpg"有效的方法是通过shell中的"mv"手动重命名它们。正确插入特殊字符(例如本例中的"Motorschweißen1.jpg")确实有效,但对所有字符都这样做需要很长时间。

使用find-name""不会产生任何命中。

有没有办法替换所有这些特殊字符,例如用下划线?

尝试命令rename:

rename 'y/W/_' *

上述命令将用_替换所有非字母数字字符。看见http://perldoc.perl.org/perlop.html#Regexp-类似报价的运算符和http://perldoc.perl.org/perlre.html#Special-用于perl正则表达式文档的回溯控制谓词。

最新更新