Portável:
tab=$(printf '\t')
grep -F "*${tab}0${tab}*${tab}0${tab}0"
Com alguns shells ( ksh93
, zsh
, bash
, mksh
, FreeBSD sh
), você pode usar:
grep -F $'*\t0\t*\t0\t0'
( $'\t'
também pode ser escrito $'\u0009'
ou (em sistemas baseados em ASCII) $'\x09'
, $''
ou $'\CI'
)
Algumas implementações de grep
, como a de ast-open, reconhecem \t
(ou \x09
) como um caractere de tabulação. Então você pode fazer:
grep '\*\t0\t\*\t0\t0'
(o mesmo com outros tipos de expressões regulares lá ( -E
para ERE, -P
para perl-like (semelhante a PCRE), -A
para aumentada).
O GNU grep
(pelo menos nos sistemas GNU) não reconhece \t
nem \x09
com BRE ou ERE, mas faz com PCREs (quando o suporte foi incorporado), (e também \x09
ou ).
grep -P '\*\t0\t\*\t0\t0'
funcionaria com o GNU grep
desde que o suporte a PCRE fosse ativado (o que costuma ser o caso em sistemas modernos).
Outra solução portátil é usar awk
se o \t
for universalmente suportado:
awk '/\*\t0\t\*\t0\t0/'