2012-12-28 2 views
0

aws cloudfront 로그를 구문 분석하는 셸 스크립트가 있습니다. , DATE_TIME 그것은 날짜 두 필드에 현재 0000-00-00 0시 0분 0초aws cloudfront log 구문 분석

:

awk '{print $1","$2","$4","$5","$8","$9","(substr($11,1,7))","$12 }' access_log | grep cid= | sed -e 's/\/data//g;s/\/videos//g;s/\/images//g;s/\/hls//g;s/\/rss//g;s/\/xml//g;s/cid=//g' > stats.txt 

나는 필드 $ 1, $ 2 그래서 날짜 시간 스탬프 형식과 유사한 결합하는 것을 시도하고있다 시간 2012-12-23 20:59:47

도움을 주시면 감사하겠습니다.

답변

2

스크립트의 awk 부분은 datetime으로 포맷하려는 날짜와 시간 부분 사이에 쉼표를 추가합니다. 이로 인해 "YYYY-MM-DD HH : MM : SS"가 "YYYY-MM-DD, HH : MM : SS"로 표시됩니다.

awk '{print $1" "$2","$4","$5","$8","$9","(substr($11,1,7))","$12 }' access_log | grep cid= | sed -e 's/\/data//g;s/\/videos//g;s/\/images//g;s/\/hls//g;s/\/rss//g;s/\/xml//g;s/cid=//g' > stats.txt 

이 올바르게 날짜 필드에 삽입해야합니다

은 이후에 스크립트를 변경하고 그 결과를 얻으려면.