我有一個數據平面文件的格式如下有沒有一個unix程序將各種HH:MM:SS格式轉換爲秒?
(1+01:01)
(06:18)
(00:02)
我可以使用awk來總結數據,如果它在幾秒鐘,像這樣
16
32
64
cat file | awk '{SUM+=$1} END {print SUM}'
形式是否有辦法我可以將存儲在平面文件中的值轉換爲秒?
我有一個數據平面文件的格式如下有沒有一個unix程序將各種HH:MM:SS格式轉換爲秒?
(1+01:01)
(06:18)
(00:02)
我可以使用awk來總結數據,如果它在幾秒鐘,像這樣
16
32
64
cat file | awk '{SUM+=$1} END {print SUM}'
形式是否有辦法我可以將存儲在平面文件中的值轉換爲秒?
GNU日期是相當不錯的解析日期,但1+01:01
不支持。如果讓sed稍微修改輸入,並且假設它意味着1 hour + 1 hour + 1 minute
,您仍然可以使用它。
這裏的是你可以解析與GNU的grep,sed和日期文件的一種方法:
<infile grep -o '[^()]*' |
sed 's/^([0-9]+)[+-]/\1 hour /;
s/^/date -d "/;
s/$/ 1970-01-01 UTC" +%s/e'
輸出:
7260
22680
120
的e
標誌的離開,看看有什麼命令SED正在執行。
爲什麼不使用awk
呢?看看這個stackoverflow的答案:Simple way to convert HH:MM:SS (hours:minutes:seconds.split seconds) to seconds
你可以提供'date'命令來將'1 + 01:01'轉換爲秒? – user784637 2013-02-22 07:29:42
'gawk'具有[日期/時間函數](http://www.gnu.org/software/gawk/manual/html_node/Time-Functions.html),您可能會感興趣。如果你只是想計算秒數,爲什麼不把它乘以。您的預期產出究竟是什麼?什麼是'1 + 01:01'? – Steve 2013-02-22 07:30:06
我可以乘以它,我只是想知道是否有任何內置的工具來做到這一點=) – user784637 2013-02-22 07:31:07