Diferença de tubulação de grep -c com regex diferente para bc

Diferença de tubulação de grep -c com regex diferente para bc

Preciso encontrar o número de palavras em um arquivo (1 palavra por linha) que não contém algum conjunto de letras. Para fazer isso, quero tirar a diferença de grep -c '.' <file>e grep -c '<other_pattern>' <file>. Tentei canalizar para bc com o seguinte comando echo "(grep -c '.' <file>) - (grep -c '<other_pattern>' <file>)" | bc. O resultado simplesmente dizia erro de sintaxe. Eu esperava que alguém tivesse uma ideia de qual sintaxe é necessária para que o bc aceite os resultados das chamadas grep. Eu preciso fazer isso em um único comando também.

Desde já, obrigado.

Responder1

Você simplesmente está faltando dois cifrões para ativar a substituição de comandos:

echo $(grep -c '.' <file>) - $(grep -c '<other_pattern>' <file>) | bc

Também removi as aspas, pois não são realmente necessárias.

informação relacionada