亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1966 | 回復(fù): 3
打印 上一主題 下一主題

問一個關(guān)于較正時間的awk腳本 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-01-19 20:31 |只看該作者 |倒序瀏覽
要將文本中所有出現(xiàn)的時間(格式為 00:00.000 或 00:00:00.000 )乘以一個系數(shù),進行較正。
比如將文本中的  01:04.800 乘以系數(shù)1.5 轉(zhuǎn)為 01:37.200

論壇徽章:
0
2 [報告]
發(fā)表于 2008-01-19 21:50 |只看該作者
一個笨辦法:
echo 01:04.800|sed 's/:/./'|awk -F"."  '
{a=(($1*60+$2)*1000+$3)*1.5;
m=int(a/60000);
s=int((a-m*60000)/1000)
ms=a-(m*60+s)*1000
printf "%02s:%02s.%03s\n", m,s,ms }'

論壇徽章:
0
3 [報告]
發(fā)表于 2008-01-20 12:30 |只看該作者
寫了一個很繁的
思路是找到每個時間的匹配,然后根據(jù)時間的格式,把它轉(zhuǎn)換成毫秒,然后*1.5,最后再轉(zhuǎn)換成時間的格式,并替換。
/([0-2][0-9]?[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]/ 這是判斷時間的正則表達(dá)式,為了簡化,小時部分不是太準(zhǔn)確。
這段代碼只能在gawk中運行,因為使用了gawk的擴展函數(shù)

  1. /([0-2][0-9]:)?[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]/{
  2. ns=""
  3. while(match($0,/([0-2][0-9]:)?[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]/)){
  4.         t=substr($0,RSTART,RLENGTH)
  5.         if(RLENGTH==9) t="00:"t
  6.         split(t,a,"[:.]")
  7.         h=a[1];m=a[2];s=a[3];ms=a[4]
  8.         ms +=mktime(sprintf("1970 1 1 %d %d %d",h,m,s))*1000
  9.         ms =sprintf("%.0f",ms*1.5)
  10.         t=(RLENGTH==12)?strftime("%H:%M:%S",(ms-ms%1000)/1000):strftime("%M:%S",(ms-ms%1000)/1000)
  11.         ms %= 1000
  12.         ns=ns substr($0,1,RSTART-1) t "." ms
  13.         $0=substr($0,RSTART+RLENGTH)
  14. }
  15. $0=ns
  16. }
  17. {print $0}
復(fù)制代碼

論壇徽章:
0
4 [報告]
發(fā)表于 2008-01-21 09:49 |只看該作者
原帖由 wangyong94 于 2008-1-19 21:50 發(fā)表
一個笨辦法:
echo 01:04.800|sed 's/:/./'|awk -F"."  '
{a=(($1*60+$2)*1000+$3)*1.5;
m=int(a/60000);
s=int((a-m*60000)/1000)
ms=a-(m*60+s)*1000
printf "%02s:%02s.%03s\n", m,s,ms }'

可以不要sed,直接awk -F"[:.]" '.....
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP