【发布时间】:2016-12-20 02:13:38
【问题描述】:
我正在尝试在我的/var/log 目录中执行一个简单的find 来查找所有未压缩的系统日志文件。到目前为止,我所拥有的是正则表达式:
syslog(\.[0-9]*)?$
因此,这将找到 syslog、syslog.1、syslog.999 等,并跳过像 syslog.1.gz 这样的压缩日志或与上述系统日志的模式不匹配的任何其他内容。我也在做一个非常基本的查找命令:
find /var/log -regextype posix-extended -regex "syslog(\\.[0-9]*)?$"
但是,我总是得到一个空的结果!现在,我认为我编写的正则表达式与 POSIX 扩展兼容,但似乎并非如此。以下是我运行的命令的变体,但无济于事:
find /var/log -regextype posix-extended -regex "syslog(\\.[0-9]*)?$"
sudo find /var/log -regextype posix-extended -regex "syslog(\\.[0-9]*)?$"
find /var/log -regextype posix-extended -regex "syslog"
find /var/log -regextype posix-extended -regex "(syslog)"
通过列出目录中的所有文件,以下内容按预期工作,但是,所以我知道我的命令格式是正确的。
find /var/log -regextype posix-extended -regex ".*"
我做错了什么?
【问题讨论】:
标签: regex linux unix find posix-ere