作者nashsai (納許賽)
看板Linux
標題[問題] 文件內數字轉換的方法(分轉秒 時轉秒)
時間Sun Apr 3 23:26:31 2016
hello
我有一個文件內容是這樣
-----------------
12.6m
28s
2.1h
29s
18.4m
------------------
現在需要將裡面的時間加起來
大概有一萬多筆
想說跑 while 讓他去加總
但遇到的問題是如何將時間格式都轉成S(秒)再轉到另外一個文件
例如跑完變成
--------------------
756s
28s
7560s
29s
1104s
---------------------
後面那個s不用也沒關係 主要是格式要統一
或是有其他的好方法
一時之間想不到怎麼弄 請各位幫忙
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.91.85
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1459697197.A.20E.html
1F:推 Adama: python 04/03 23:41
2F:推 rickieyang: awk 'BEGIN{sum=0} 04/04 02:33
3F:→ rickieyang: /s$/{sum+=substr($1,1,length($1-1))} 04/04 02:34
4F:→ rickieyang: /m$/{sum+=substr($1,1,length($1-1))*60} 04/04 02:34
5F:→ rickieyang: /h$/{sum+=substr($1,1,length($1-1))*3600} 04/04 02:34
6F:→ rickieyang: END{print sum" secs"}' filename 04/04 02:35
7F:推 rickieyang: 試跑五萬筆 real0m0.110s, user0m0.104s, sys0m0.003s 04/04 02:49
8F:→ kenduest: perfect code 04/04 03:10
9F:推 lc85301: 我大概會用python 去處理lol 04/04 10:25
10F:推 kira925: ruby直接加XD 04/04 10:32
11F:推 kenduest: 我有回應一段Python寫法文章但是要跑比較久,刪文了 04/04 10:44
13F:推 kenduest: 沒有最佳化,慢。不過 python 處理字串上這類向來都不會 04/04 10:49
14F:→ kenduest: 贏 perl or awk 就是,因為非 python 專長 04/04 10:49
15F:→ nashsai: 感謝各位 我研究看看 04/04 15:46
16F:→ kenduest: 我那 code 寫不好,因為當初我認為可能有極巨大數值 04/04 16:50
17F:→ kenduest: 其實程式碼後續改一下用一般 float 方式記錄計算就好XD 04/04 16:51
18F:推 abelyang: for i in `cat your_file`;do echo $i | 04/14 15:11
19F:→ abelyang: sed -e 's/m$/*60/g' -e 's/h$/*3600/g' \ 04/14 15:11
20F:→ abelyang: ;done |paste -sd + |bc 04/14 15:12
21F:→ abelyang: sed 中少了 -e 's/s$//g' 04/14 15:14
22F:→ rickieyang: 為什麼 sed 都要加 g ? 04/16 04:45