Correspondência de strings, incluindo opcionalmente correspondência de expressão regular
grep
é um utilitário padrão que parece fazer exatamente o que você deseja:
echo foo | grep -x 'foo' | cat
Eu presumo que cat
é usado aqui como um substituto para um pipeline mais complexo. Se não fosse, então o acima, é claro, simplifica para:
echo foo | grep -x 'foo'
grep
é um utilitário poderoso com muitas opções. Veja man grep
para detalhes.
Exemplos
$ echo 'foo' | grep -x 'foo' | cat
foo
$ echo 'goo' | grep -x 'foo' | cat
$
Testes mais complexos, incluindo testes numéricos
grep
é bom para strings. Para testes mais complexos, incluindo comparação, desigualdade e testes numéricos, awk
é muito útil. Por exemplo:
$ echo 64 | awk '$1 <= 65' | cat
64
$ echo 66 | awk '$1 <= 65' | cat
$
Expressões matemáticas podem ser usadas:
$ echo 8 | awk '2*$1+1 <= 17' | cat
8
$ echo 9 | awk '2*$1+1 <= 17' | cat
$
O pedido não numérico também pode ser testado:
$ echo a | awk '$1 < "b"' | cat
a
$ echo c | awk '$1 < "b"' | cat
$