2016-08-29 31 views
1

我從陣列中需要從它減少3小時,並在再次隱蔽陣列日期字符串和殼牌減少3小時腳本

命令行陣列的輸出打印是:

12:29:14 
14:10:26 
14:30:34 
14:35:31 
14:35:10 
11:57:03 
12:49:31 
12:57:09 
11:04:49 
13:06:57 
14:35:34 
14:30:49 
14:34:28 
12:58:02 
14:28:12 
12:29:18 
11:33:23 
12:27:04 
14:35:43 
12:58:46 

我試着用這條線,但沒用。

date2=$(date -d "${array[@]}" "3 hour ago" +"%H:%M:%S") 

您能幫我解答嗎?

+1

請[提問],並提供一個[mcve],所以我們可以理解這裏的問題。 – fedorqui

回答

1

試試這個;

#!/bin/bash 
times=("12:29:14" "14:10:26" "14:30:34" "14:35:31" "14:35:10" "11:57:03" "12:49:31" "12:57:09" "11:04:49" "13:06:57" "14:35:34" "14:30:49" "14:34:28" "12:58:02" "14:28:12" "12:29:18" "11:33:23" "12:27:04" "14:35:43" "12:58:46") 

for dateItem in ${times[@]} 
do 
date2=$(date --date="$dateItem 3 hour ago" +%H:%M:%S) 
echo $date2 
done 
+0

我試過的朋友不起作用。 – Daniel

0

嗨它做一些改變它的工作原理無誤後工作,

如果你想待辦事項它沒有一個數組
這就是:

date2=$(date -d "$times 3 hour ago" +"%H:%M:%S") 
echo $date2