YYYY-MM-DD hh:mm:ss
각 줄의 시작 부분에 타임스탬프( )가 있는 로그가 있습니다 . 타임스탬프는 UTC 시간이지만 현지 시간에 무슨 일이 일어났는지 알고 싶을 때가 많습니다. 머리 속에서 전환할 수는 있지만 노력이 필요합니다.
일반적으로 로그를 grep으로 연결하여 필요한 것을 선택합니다. 나머지 줄은 그대로 유지하면서 한 시간대로 타임스탬프를 파이프할 수 있나요?
답변1
이것은 awk에서 끔찍하게 비효율적 인 솔루션입니다 ...
{
cmd="date -d \"" $1 " " $2 " UTC\" \"+%F %H:%M:%S %Z\"";
cmd | getline u
$1="";
$2="";
print u $0;
}
개인적으로 저는 strtotime()을 지원하는 좀 더 전통적인 프로그래밍 언어로 무언가를 작성하고 싶습니다.