gpt4 book ai didi

regex - 使用 `find` 命令查找带有 CJK 字符的文件的正则表达式是什么?

转载 作者:行者123 更新时间:2023-12-04 18:47:33 25 4
gpt4 key购买 nike

我要查找的文件格式为 cmn-我.flac ,其中 CJK 字符是可变的。

使用 find命令,我应该使用什么正则表达式来 查找名称中包含单个 CJK 字符的所有文件?

提示:
以下正则表达式查找所有文件,包括那些 有和没有中日韩字符:

find ./ -regex '.*\..*'  # ex: cmn-我.flac

然后 :
find ./ -regex "cmn-.*[\x4e00-\x9fa5]*\.flac"   # the `-` breaks => fails 
find ./ -regex ".*[\x4e00-\x9fa5]*\.flac" # finds with n CJK characters => we get closer!
find ./ -regex ".*[\x4e00-\x9fa5]{1}\.flac" # the `{1}` breaks => fails.
find ./ -regex ".*[\x4e00-\x9fa5]?\.flac" # the `?` breaks => fails.

如何使它起作用?

最佳答案

我认为你的方法是正确的,需要多看一下 find man page (例如 -regextype )。

无法重现

find ./ -regex "cmn-.*[\x4e00-\x9fa5]*\.xml"
# find: Invalid range end
find的版本

首先,一定要查看 find是哪个版本的您正在使用,实现之间存在一些差异:
find --version

给:
find (GNU findutils) 4.4.2


解释

看着 -regex-type选项我只看到 POSIX正则表达式类型: emacs (默认), posix-awk , posix-basic , posix-egrepposix-extended )。

其中 doesn't support custom hex range definition (比较 Perl 和 POSIX)。

关于regex - 使用 `find` 命令查找带有 CJK 字符的文件的正则表达式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24826457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com