【发布时间】:2021-11-05 08:28:17
【问题描述】:
我尝试使用 bash 从文件夹中获取所有文件,如 scheme_12.sql 和 scheme_23_analytics.sql,正则表达式在终端中以一种奇怪的方式工作,不返回任何内容。还检查了 python re 和一些交互式正则表达式站点。它有效。
我的命令ls | find . -type f -regex "\.\/scheme_[0-9]+_([a-zA-Z]+)?.sql"
但是没有可选语句的命令有效ls | find . -type f -regex "\.\/scheme_[0-9]+.sql"
我不知道为什么。你能帮我找出错误吗?
【问题讨论】:
-
你从
find -regextype help得到什么? -
您希望管道
ls到find应该完成什么?ls是无操作的,因为find将简单地忽略其标准输入。 You should generally not uselsin scripts 反正。