如何自动检查两个命令输出的数字是否相同?

如何自动检查两个命令输出的数字是否相同?

假设我有两个 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

在 shell 下,您运行的所有内容都可能成为脚本。是否将其设为脚本取决于它的复杂程度以及您想要运行它的频率。

相关内容