gpt4 book ai didi

regex - 如何在 Linux 中查找扩展名为数字的文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:26:11 24 4
gpt4 key购买 nike

我想查找扩展名为日期的文件。在具有以下文件的文件夹中:

jvm-app-0.log.20180124.0000
jvm-app-0.log.20180124.0341
jvm-app-0.log.20180124.0341.tz
jvm-app-0.log.20180124.0355

我只想找

jvm-app-0.log.20180124.0000
jvm-app-0.log.20180124.0341
jvm-app-0.log.20180124.0355

编辑:如果第二个 block 是可选的。例如

access.log.20180124
access.log.20180125

我试过以下:

find . * | grep "\*\.[0-9]{8}\.\*"
find . -regextype posix-egrep -regex '*\.[0-9+]\.[0-9+]'
find . -regextype posix-egrep -regex '*\.[0-9+]\.*'
find . -regextype posix-egrep -regex '\.[0-9+]\.*'
find . -regextype sed -regex "*.{[0-9]+\.[0-9]+}"

最佳答案

find . -regex '.*\.[0-9]+'
  • 在前面使用.*而不是*来匹配任何前缀。
  • + 需要在方括号外。
  • -regextype 不是必需的。

如果启用了 extglob,那么您可以直接在 shell 中执行此操作:

$ shopt -s extglob
$ ls *.+([0-9])
jvm-app-0.log.20180124.0000 jvm-app-0.log.20180124.0341 jvm-app-0.log.20180124.0355

如果您想要递归搜索,请同时打开 globstar:

$ shopt -s extglob globstar
$ ls **/*.+([0-9])
jvm-app-0.log.20180124.0000 jvm-app-0.log.20180124.0341 jvm-app-0.log.20180124.0355

关于regex - 如何在 Linux 中查找扩展名为数字的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49428043/

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