我正在尝试将从 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 ]