转换并比较 grep 结果与整数



我正在尝试将从 grep 获得的结果与 unix 中的整数进行比较。但我无法将该字符串与整数进行比较。我的代码是这样的。

set e_pat = `zgrep "count" $file | cut -d'=' -f 2`
if [$e_pat -gt 10000]
then
echo "Greater"
else
echo "lesser"
fi

此代码给出错误

if:表达式语法。

如何将 grep 命令结果与整数进行转换和比较?

在 bash 中,set不用于为变量赋值。相反,请直接使用=,但在赋值运算符周围不要有空格

e_pat=`zgrep count "$file" | cut -d= -f2`

最好使用$()而不是反引号,因为您可以嵌套它而无需反斜杠。

e_pat=$(zgrep count "$file" | cut -d= -f2)

此外,在比较中引用变量,并用空格将命令[与其分开;这同样适用于结束]

if [ "$e_pat" -gt 10000 ]