使用AWK 將字符串轉換為時間 求時間差


如有兩個時間是字符串類型的 如: 20170316140104 20170316140204 需要計算兩個時間的時間差

1、使用substr 截取字符串 共mktime函數使用

2、使用strftime 計算出時間

3、兩個時間相減

 

在我需要計算時差的文件中 第7字段表示發送時間  第8字段表示接收響應的時間  所以取值的時候 使用 $7 $8來取值  字段的分隔符為“|”

腳本如下:

cat * | awk -F"|" '{y1= substr($7,1,4); m1=substr($7,5,2); d1=substr($7,7,2);h1=substr($7,9,2);M1=substr($7,11,2);s1=substr($7,13,2);y2= substr($8,1,4); m2=substr($8,5,2); d2=substr($8,7,2);h2=substr($8,9,2);M2=substr($8,11,2);s2=substr($8,13,2); time1 = strftime("%s",mktime(y1" "m1" "d1" "h1" "M1" "s1));time2 = strftime("%s",mktime(y2" "m2" "d2" "h2" "M2" "s2));if (time2-time1>22){print $7,$8}}'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM