Você simplesmente está sem dois cifrões para ativar a substituição de comandos:
echo $(grep -c '.' <file>) - $(grep -c '<other_pattern>' <file>) | bc
Eu também removi as aspas, pois elas não são realmente necessárias.
Eu preciso encontrar o número de palavras em um arquivo (1 palavra por linha) que não contém um conjunto de letras. Para fazer isso, quero tirar a diferença de grep -c '.' <file>
e grep -c '<other_pattern>' <file>
. Eu tentei canalizar para bc com o seguinte comando echo "(grep -c '.' <file>) - (grep -c '<other_pattern>' <file>)" | bc
. O resultado simplesmente disse erro de sintaxe. Eu esperava que alguém entendesse como a sintaxe é necessária para que bc aceitasse os resultados das chamadas grep. Eu preciso fazer isso em um único comando também.
Obrigado antecipadamente.
Tags grep pipe bc regular-expression