[Shell] Como procurar em um arquivo por “bolo de laranja”, sem gostar de chocolate?

Posted by Paulo Arruda | Posted in Linux | Posted on 14-12-2011

Tags:, , ,

0

O título pode parecer confuso, mas digamos que você queira procurar com o comando grep a string “bolo de laranja” no arquivo de receitas da sua mãe, mas você não gosta de bolo de laranja com chocolate (te confundi mais ainda não?), e não quer que sejam exibidos resultados como “bolo de laranja com chocolate” (aaah, agora sim!).

Até pouco tempo atrás, poderíamos fazer assim:

grep "bolo de laranja" receitas.txt | grep -v "bolo de laranja com chocolate"

É rude, mas funciona.

Ou você pode fazer isso de forma simples e elegante, usando o suporte (experimental) à expressões regulares do PERL:

grep -P 'bolo de laranja(?<! com chocolate)' receitas.txt

[Shell] Escapando a contrabarra no comando sed

Posted by Paulo Arruda | Posted in Linux | Posted on 14-12-2011

Tags:, , ,

0

Algumas vezes me deparo com algumas strings chatas de substituir via sed:

39\ha.txt

Para substituir o caractere “\” por “:”, por exemplo, basta fazer isso:

echo "39\ha.txt" | sed -e 's@\\@:@g'

E diga adeus aos seus problemas ;)