在使用cat或zcat时,如何匹配更复杂的模式?例如,我知道我可以这样做:
zcat /var/log/nginx/access.log.*.gz它将将所有gzipped访问日志输出到stdin。
如果我想要一个更复杂的模式呢?比方说,所有的日志文件都在1-15之间,例如这样的模式:
zcat /var/log/nginx/access.log.([1-9]|1[0-5]).gz这导致了一个明显的unexpected token,但我不知道在这种情况下如何摆脱正则表达式?也许我需要将ls输出输送到zcat?
发布于 2020-06-03 01:10:12
当然,这取决于您想要匹配的具体模式。对于您给出的日志文件1-15的示例,您可以使用以下内容
cat /var/log/nginx/access.log.{1..15}.gz如果这些数字中的任何一个都不存在,它将向stderr抱怨,但它仍然会将其余的数据连接到stdout。
这个技术是一个“序列表达式”,如果你想要查找它--它是支撑展开的一部分。
https://stackoverflow.com/questions/62163648
复制相似问题