将输出保存到变量中

将输出保存到变量中

我是这个领域的新学习者。我想从 date_time 中减去几秒。我使用这段代码来提取数据,然后减去秒数。但我无法将此输出保存到变量中。

你能帮我保存这个吗?

for stnm in H33
   do
        cd $stnm
         for file in $input_dir/$stnm/2018/350.hyd
         echo $file
    
          do
          dat=`saclst kzdate f $file | awk '{print substr($2,1,10)}'`
          time=`saclst kztime f $file| awk '{print substr($2,1,11)}'`
          echo $dat $time "############################"
          # new_time= date -d "$(date -Iseconds -d "$dat $time" )  - 2 minutes - 0.05 seconds"
          new_time= date -d " $dat $time Z - 2 minutes - 0.05 seconds" +%Y/%m/%d_%H:%M:%S | 
              awk '{print substr($1,1,24)}'

          echo $dat $time $new_time  "####################"
         done
done

输出

/NAS2/Abbas/TS14_OBS/H33/2018/350.hyd
2018/12/16 00:00:00.00 ############################
2018/12/15_23:57:59
2018/12/16 00:00:00.00 ####################

答案1

有用:

new_time=`date -d "$(date -Iseconds -d "$dat $time") - 2 minutes - 0.05 seconds"  +%Y/%m/%dT%H:%M:%S`

答案2

您也可以使用下面的方法及其工作原理

new_time=$(date -d "$(date -Iseconds -d "$dat $time") - 2 minutes - 0.05 seconds"  +%Y/%m/%dT%H:%M:%S)

相关内容