[问题] 文件内数字转换的方法(分转秒 时转秒)

楼主: nashsai (纳许赛)   2016-04-03 23:26:31
hello
我有一个文件内容是这样
作者: Adama (So Say We All.)   2016-04-03 23:41:00
python
作者: rickieyang (Rickie Yang)   2016-04-04 02:33:00
awk 'BEGIN{sum=0}/s$/{sum+=substr($1,1,length($1-1))}/m$/{sum+=substr($1,1,length($1-1))*60}/h$/{sum+=substr($1,1,length($1-1))*3600}END{print sum" secs"}' filename试跑五万笔 real0m0.110s, user0m0.104s, sys0m0.003s
作者: kenduest (小州)   2016-04-04 03:10:00
perfect code
作者: lc85301 (pomelocandy)   2016-04-04 10:25:00
我大概会用python 去处理lol
作者: kira925 (1 2 3 4 疾风炭)   2016-04-04 10:32:00
ruby直接加XD
作者: kenduest (小州)   2016-04-04 10:44:00
我有回应一段Python写法文章但是要跑比较久,删文了程式码 http://pastebin.com/B7CnAFBH没有最佳化,慢。不过 python 处理字串上这类向来都不会赢 perl or awk 就是,因为非 python 专长
楼主: nashsai (纳许赛)   2016-04-04 15:46:00
感谢各位 我研究看看
作者: kenduest (小州)   2016-04-04 16:50:00
我那 code 写不好,因为当初我认为可能有极巨大数值其实程式码后续改一下用一般 float 方式记录计算就好XD
作者: abelyang (Abel)   2016-04-14 15:11:00
for i in `cat your_file`;do echo $i |sed -e 's/m$/*60/g' -e 's/h$/*3600/g' \;done |paste -sd + |bcsed 中少了 -e 's/s$//g'
作者: rickieyang (Rickie Yang)   2016-04-16 04:45:00
为什么 sed 都要加 g ?

Links booklink

Contact Us: admin [ a t ] ucptt.com