출력을 변수에 저장

출력을 변수에 저장

나는 이 분야의 새로운 학습자입니다. 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)

관련 정보