regex - RegEx 用于查找以任何字母开头后跟数字的所有文件
问题描述
我正在尝试使我的 bash 脚本更智能。我有一些代码正在清理 10000 个文件。我要解决的是如何找到所有在 0901*.* 前面有一堆字母 az 或 AZ 的文件
find . -maxdepth 1 -type f -regextype posix-extended -regex '[a-z]\(0901).*'
find . -maxdepth 1 -type f -regextype posix-extended -regex '[a-z]*.*'
返回一切
while
find . -maxdepth 1 -type f -regextype posix-extended -regex '[a-z]\(0901).*'
什么也不返回。
我该如何解决这个问题?
解决方案
以下选项应与sed
正则表达式引擎一起使用:
find . -maxdepth 1 -type f -regextype sed -regex "[A-Za-z]\+0901.*"
我解释a bunch of letters
为一个或多个字母,因此我[A-Za-z]+
在数字前面使用。你不应该在这里需要括号,但如果你想使用它们,你必须通过反斜杠来转义:
find . -maxdepth 1 -type f -regextype sed -regex "[A-Za-z]\+\(0901\).*"
推荐阅读
- visual-studio - Visual Studio 与 Win CE 5/6/7 平台的兼容性
- reactjs - 打字稿:找不到“bin”、“src”、“test”的类型定义文件
- oracle - 在 Oracle 中按名称访问记录字段
- python - Python:在 Selenium Ms.Edge(铬)Webdriver 中禁用图像
- php - 缩小使用 sort() 函数的 PHP 代码
- java - 在井字游戏中确定获胜者时,如何避免重复?
- oracle - 更新后第三方应用程序在任何时候都无法看到来自 oracle 的数据
- azure - Azure CLI 监控所有虚拟机的指标
- jquery - 在 Codeigniter 中对 Join Table 查询进行 DataTable 服务器端处理
- python - 具有模型属性和 2 个输入的 TensorFlow 模型无法在数据集上进行预测