gpt4 book ai didi

regex - 为什么find -regex不接受我的正则表达式?

转载 作者:行者123 更新时间:2023-12-04 13:34:30 24 4
gpt4 key购买 nike

我想选择一些与正则表达式匹配的文件。
文件例如:

4510-88aid-50048-INA.txt
4510-88nid-50048-INA.txt
xxxx-05xxx-xxxxx-INA.txt

我想要所有与此正则表达式匹配的文件:
.*[\w]{4}-05(?!aid)[\w]{3}-[\w]{5}-INA\.txt

在我看来,在上述情况下,这必须是 xxxx-05xxx-xxxxx-INA.txt
使用诸如 RegexTester之类的工具,一切都可以完美运行。
使用bash命令 find -regex似乎对我不起作用。
我的问题是,为什么?

我无法弄清楚,我正在使用:
find /some/path -regex ".*[\w]{4}-05(?!aid)[\w]{3}-[\w]{5}-INA\.txt" -exec echo {} \;

但是什么也没印出来...有什么想法吗?
$ uname -a
Linux debmu838 2.6.5-7.321-smp #1 SMP Mon Nov 9 14:29:56 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux

最佳答案

bash4 +和perl

ls /some/path/**/*.txt | perl -nle 'print if /^[\w]{4}-05(?!aid)[\w]{3}-[\w]{5}-INA\.txt/'

您应该在自己的.profile中 shopt -s globstar

关于regex - 为什么find -regex不接受我的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412406/

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