Как автоматически проверить, выводят ли две команды одно и то же число?

Как автоматически проверить, выводят ли две команды одно и то же число?

Допустим, у меня есть две команды grep:

grep -rno 'foo' --include \*.txt|wc -l
grep -rno 'bar' --include \*.txt|wc -l

Как бы я автоматически проверил, что их вывод - это одно и то же число, и вывел бы "да" или "нет" соответственно? Думаю, мне может понадобиться скрипт, чтобы сделать это, но, возможно, и нет.

решение1

test "$(grep -rno 'foo' --include \*.txt|wc -l)" = "$(grep -rno 'bar' --include \*.txt|wc -l)" && echo Yes || echo No

или

var1=$(grep -rno 'foo' --include \*.txt|wc -l)
var2=$(grep -rno 'bar' --include \*.txt|wc -l)
test "$var1" = "$var2" && echo Yes || echo No

Под оболочкой все, что вы запускаете, может стать скриптом. Сделаете ли вы это скриптом или нет, зависит от того, насколько он сложен и как часто вы хотите его запускать.

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