【问题标题】:how to subtract value of grep result in bash scripting [duplicate]如何在bash脚本中减去grep结果的值[重复]
【发布时间】:2019-12-20 13:32:02
【问题描述】:
    #!/bin/bash

YESTERDAY=`TZ=GMT+48 date +%Y%m%d`
filename="import$YESTERDAY.log"
today=`date +%Y%m%d`
today="import$today.log"

value1=$(grep -i 'Invalid cells in file' "$filename" | cut -f2 -d':') // gives result 2458



value2=$(grep -i 'Invalid cells in file' "$today" | cut -f2 -d':') // gives result 1236

difference='$value1'-'$value2'
treshold=1000

if [[ $difference -gt $treshold ]]
then

我正在尝试减去这些 grep 的结果,但它给出了如下所示的操作员错误

第 14 行:[[: $value1-$value2: 语法错误:操作数预期(错误标记是“$value1-$value2”)

【问题讨论】:

    标签: bash


    【解决方案1】:

    您可以尝试使用$((...)) 表示法,如您在此示例中所见:

    Prompt>v1=2458
    Prompt>v2=1236
    Prompt>echo $((v1-v2))
    Prompt>1222
    

    所以,对你来说,这意味着:

    difference=$((value1-value2))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 2016-12-05
      • 2017-06-07
      • 2021-04-21
      • 2023-03-30
      相关资源
      最近更新 更多