gpt4 book ai didi

regex - 如何使用 grep 和正则表达式查找目录中的所有文件?

转载 作者:IT王子 更新时间:2023-10-29 00:33:01 25 4
gpt4 key购买 nike

我在 Apache 服务器上有一个目录(Linux/Unix),其中有很多子目录包含很多这样的文件:

- Dir    - 2010_01/    - 142_78596_101_322.pdf    - 12_10.pdf    - ...  - 2010_02/       - ...

How can i find all files with filesnames looking like: *_*_*_*.pdf ? where * is always a digit!!

I try to solve it like this:

ls -1Rl 2010-01 | grep -i '\(\d)+[_](\d)+[_](\d)+[_](\d)+[.](pdf)$' | wc -l

但是正则表达式\(\d)+[_](\d)+[_](\d)+[_](\d)+[.](pdf)$ 不适用于 grep。

编辑 1:尝试 ls -l 2010-03 | grep -E '(\d+_){3}\d+\.pdf' | wc -l 例如只返回 null。所以它不能完美地工作

最佳答案

尝试使用find

满足您的规范的命令 __*_*.pdf where * is always a digit:

find 2010_10/ -regex '__\d+_\d+\.pdf'

但是,根据您尝试的正则表达式,您似乎想要一个由下划线分隔的 4 个数字的序列。

(\d+_){3}\d+\.pdf

或者您想匹配所有仅包含数字/下划线的名称?

[\d_]+\.pdf

关于regex - 如何使用 grep 和正则表达式查找目录中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12566983/

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