I've a file that looks like this
server1-adm.test.com,/var,dir,29987,2007-12-03 15:52:43,root,root server2.fs.com,/DATA_File.out,file,299076487,2008-10-15 05:12:23,user1,group1 server3-prd.mod.com,/opt,dir,29987,2009-05-03 00:13:23,user1,group1 server4,/var/tmp/xxz.zip,file,400,2007-12-03 15:52:43,root,root server1-adm.test.com,/usr,dir,34299876,2006-12-03 16:52:43,root,root server3-prd.mod.com,/local/home,dir,400,2009-05-03 12:13:23,user2,group1 The 5th column is date + time value that I want to modify. I tried using multiple awk statements together, but it looked too confusing, prone to mistakes. Instead of using multiple statements to do date format conversion, how can I use the date system command within awk to convert to below results.
server1-adm.test.com,/var,dir,29987,2007-12-03 03:52:43 PM,root,root server2.fs.com,/DATA_File.out,file,299076487,2008-10-15 05:12:23 AM,user1,group1 server3-prd.mod.com,/opt,dir,29987,2009-05-03 00:13:23 AM,user1,group1 server4,/var/tmp/xxz.zip,file,400,2007-12-03 03:52:43 PM,root,root server1-adm.test.com,/usr,dir,34299876,2006-12-03 04:52:43 PM,root,root server3-prd.mod.com,/local/home,dir,400,2009-05-03 12:13:23 PM,user2,group1 Something in lines of date -d "2007-12-03 15:52:43" +%Y/%m/%d:%H%M%S. I don't know how we can get AM/PM in date command.
I already have multiple awk statements running together as part of a script to perform other text modification on the same incoming file, so I would like to use an awk + date statement to do it.