아래 명령을 사용하여 지난 10분간의 로그 데이터를 표시하고 있습니다. 월이 동일하게 유지되면 잘 작동하지만 월이 변경되면 데이터가 표시되지 않습니다.
awk -v d1="$D1" -v d2="$D2" '$0 > d1 && $0 < d2 || $0 ~ d2' /home/user.log
괜찮다면,
D1="Aug 1 12:00:00"
D2="Aug 1 12:10:00"
다음과 같은 경우 데이터가 표시되지 않습니다.
D1="Jul 31 11:55:00"
D2="Aug 1 00:05:00"
PS 저는 AIX를 사용하고 있습니다
답변1
나는 이것이 실제로 날짜가 아닌 문자열을 비교하기 때문이라고 생각합니다. 월이 변경되면 비교가 중단됩니다.
epoch 또는 숫자 날짜 형식을 사용하여 다른 방법으로 날짜 형식을 지정해 보십시오.
date -d "Jul 31 11:55:00" +%s
1533063300을 출력합니다. 같은,
date -d "Aug 1 00:05:00" +%s
1533107100을 출력합니다.
거기에서 비교하기 쉬워야합니다.