2
find(1):如何实现星号通配符以使其在某些文件名上失败?
在文件名使用UTF-8的文件系统中,我的文件名称错误;它显示为:D�sinstaller,根据zsh:的实际名称 D$'\351'sinstaller,Latin1表示Désinstaller,本身是法式野蛮的“卸载”。Zsh不会将其与之匹配,[[ $file =~ '^.*$' ]]但会与之匹配(*这是我期望的行为)。 现在,我仍然希望在运行时能够找到它find . -name '*'-事实上,我绝不会期望文件名能够通过该测试。然而,随着LANG=en_US.utf8,该文件确实不露面,我必须集LANG=C(或en_US,或'')为它工作。 问题: 背后的实现是什么,我如何预测结果? 信息:Arch Linux 3.14.37-1-lts,查找(GNU findutils)4.4.2