The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #2 (permalink)  
Old 11-21-2008
rubin's Avatar
rubin rubin is offline Forum Advisor  
Registered User
  
 

Join Date: Nov 2007
Posts: 321
Try something like this,


Code:
awk -F'[>| ]'  'BEGIN { print "Session ID      Create Time   Delete Time   Session   Length"}
		       { for(i=8;i++<=NF;)  if ($i~/[0-9]+[a-zA-Z]+/) {split($4 ,a,":");
                         if (b[$i]++==0) {d1=$2OFS$3OFS$4; s1=a[1]*3600+a[2]*60+a[3]} 
                         if (b[$i]==3)   {d2=$2OFS$3OFS$4; s2=a[1]*3600+a[2]*60+a[3]; 
                         printf"%s %s %s %s:%02d min\n", $i, d1, d2, int((s2-s1)/60), (s2-s1)%60}}}' file


Based on your sample, I'm assuming the ID field is somewhere after field 8, and is a combination of numbers & letters.