I’m trying to do some research in a .gz file so I found out I should use zcat / zgrep now after a bit of research I can’t figure out how to use a regex with zgrep
I tried to do it like this zgrep '[sS]{10,}' a.gz but nothing comes out even if there are string of minimum 10 characters in the file.
So how could I use zgrep to display string of minimum 10 characters ?
Advertisement
Answer
You should not use S and s in a POSIX BRE regex bracket expression as [Ss] bracket expression matches either , S or s. Use . instead of [sS] to match any char with a POSIX BRE/ERE regex.
Also, in a BRE pattern, {10,} must be written as {10,} as otherwise, when unescaped, {10,} matches a literal {10,} string.
Use
zgrep '.{10,}' a.gz