使用shell脚本检索变量中的最后一个存储值

时间:2013-02-20 14:54:01

标签: mysql shell

我试图仅检索变量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"

1 个答案:

答案 0 :(得分:0)

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

#!/bin/bash

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

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