Разница в конвейеризации grep -c с разными регулярными выражениями в bc

Разница в конвейеризации grep -c с разными регулярными выражениями в bc

Мне нужно найти количество слов в файле (по 1 слову в строке), которые не содержат какой-либо набор букв. Для этого я хочу взять разницу между grep -c '.' <file>и grep -c '<other_pattern>' <file>. Я попытался передать в bc следующую команду echo "(grep -c '.' <file>) - (grep -c '<other_pattern>' <file>)" | bc. Результат просто выдал ошибку синтаксиса. Я надеялся, что кто-то знает, какой синтаксис необходим для bc, чтобы принять результаты вызовов grep. Мне нужно сделать это в одной команде.

Заранее спасибо.

решение1

Вам просто не хватает двух знаков доллара для включения подстановки команд:

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

Я также удалил кавычки, так как они не нужны.

Связанный контент