У меня есть файл, который выглядит следующим образом
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
5-й столбец - это значение date + time
, которое я хочу изменить.Я пытался использовать несколько операторов awk вместе, но это выглядело слишком запутанно, склонно к ошибкам.Вместо использования нескольких операторов для преобразования формата даты, как я могу использовать системную команду date
в awk для преобразования в результаты ниже.
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
Что-то в строках date -d "2007-12-03 15:52:43" +%Y/%m/%d:%H%M%S
.Я не знаю, как мы можем получить AM / PM в команде date
.
У меня уже есть несколько операторов awk, выполняющихся вместе как часть скрипта для выполнения другой модификации текста в том же входящем файле, поэтому яхотел бы использовать оператор awk + date для этого.