0

我试图只检索变量 date2 的最后更新值,但它在输出中始终给出 0,我认为这是因为我在块外检索它,但我只想将最后一个值存储在变量 date2 中,我该如何解决这个问题。感谢您的帮助

这是我的代码

 count=0
 date1=0
 date2=0

 mysql -uroot -proot -Dproject_ivr_db -rN --execute "SELECT FeeSubmissionDate FROM     
 meritlist_date wHERE Discipline='phd' AND AnnounceDate<=now() " | while read value

 do
      if [[ "$count" == 0 ]]
      then
        let "date2=$value"
        let "count++"
      else
        let "date1=$value"
        let "result=$date1-$date2"
        if [[ "$result" -gt 0 ]]
        then
              let "date2=$date1"
        fi
      fi

  done

echo"V,date2=$date2"
4

1 回答 1

0

AWK 可以轻松解决这个问题。这是一个简单脚本的示例,它列出了当前目录中的所有文件,并返回文件名中包含子字符串“test”的文件的数量。

#!/bin/bash

ls -1 |
awk 'BEGIN { count=0 } { if (index($0,"test") != 0) { count++ }} END { printf("Count=%s\n", count); }'

现在,如果您将ls -1替换为您的mysql命令并通过简单地使用 AWK 以如上所示的模拟方式摆脱 while 循环,那么计算感兴趣的行应该没有问题。

于 2013-02-21T11:58:18.620 回答