如何使用 zgrep 和正则表达式?

How to use zgrep and regular expression?

我正在尝试在 .gz 文件中做一些研究,所以我发现我现在应该使用 zcat / zgrep 经过一些研究我不知道如何使用正则表达式zgrep

我试过这样做zgrep '[\s\S]{10,}' a.gz但是即使文件中有至少 10 个字符的字符串也没有结果。

那么我如何使用 zgrep 来显示最少 10 个字符的字符串?

您不应在 POSIX BRE 正则表达式括号表达式中使用 \S\s,因为 [\S\s] 括号表达式匹配 \Ss。使用 . 而不是 [\s\S] 来匹配具有 POSIX BRE/ERE 正则表达式的任何字符。

此外,在 BRE 模式中,{10,} 必须写成 \{10,\},否则,当未转义时,{10,} 匹配文字 {10,} 字符串。

使用

zgrep '.\{10,\}' a.gz