作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在安装在 Linux 上的 NTFS 分区上有一堆音乐文件,它们的文件名带有 unicode 字符。我在编写重命名文件的脚本以使所有文件名仅使用 ASCII 字符时遇到问题。我认为使用 iconv
命令应该可行,但我无法转义 'mv'
命令的字符。
编辑:unicode 字符是否没有直接转换并不重要。我想我会用“?”替换那些性格。
最佳答案
convmv是一个很好的转换文件名编码的 Perl 脚本。但它无法处理不在目标编码中的字符。
您可以将任何非 ASCII 字符更改为“?”使用随 Perl 分发的重命名实用程序:
rename 's/[^ -~]/?/g' *
不幸的是,这会将多字节字符替换为多个“?”。根据使用的 Unicode 编码和涉及的字符,更改正则表达式可能会有所帮助,例如
rename 's/[^ -~]{2}/?/g' *
对于 2 字节字符。
关于bash - 如何将文件名从 unicode 转换为 ascii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011569/
我是一名优秀的程序员,十分优秀!