Quero verificar a ausência da seguinte sequência de caracteres $$$$$
(ou seja, 5 cifrões) em um json
arquivo usando grep
como foi usado em vez de vírgula para separar campos e preciso ter certeza de que isso não causou conflitos com a sequência semelhante existente.
No entanto, quando eu grep $
, recebo um número semelhante de linhas. Parece que $
é um caractere especial para fim de linha?
Como posso pesquisar $$$$$
usando grep? É $
um caractere especial?
Sim, exatamente. E há um fim de linha em cada linha.
Você precisará usar
\$\$\$\$\$
como padrão, ou usargrep -F '$$$$$'
, para dizergrep
para usar o padrão como uma string fixa em vez de uma expressão regular.Ou um padrão de regex de versão mais curta:
\$\{5\}
em regex básico ou\${5}
em expressões regulares estendidas (grep -E
).(Em expressões regulares básicas (simples
grep
), você realmente só precisa escapar do último cifrão, então$$$$\$
faria em vez de\$\$\$\$\$
. Mas em expressões regulares estendidas (grep -E
) e Perl todos eles precisam ser escapados, então é melhor fazer isso de qualquer maneira.)