로그 파일에서 최신 값을 반환해야 합니다. 이 값은 항상 로그 파일의 끝 부분에 있다는 것을 알고 있으며 결과는 하나만 원합니다.
우분투에서는 다음을 사용하여 이 작업을 tac dhcp.log | grep macaddress -m 1
수행했습니다 tail -r dhcp.log | grep macaddress
. 전체 파일을 실행하지 않도록 첫 번째 결과 후에 grep을 종료할 수 있는 방법이 있습니까?
답변1
GNUgrep을 설치한 경우(예: /usr/bin/ggrep
Solaris /opt/gnu/bin/grep
11, /opt/sfw/bin/ggrep
Solaris 10) 이 플래그가 있습니다 -m
.
대신에 grep
다음을 사용할 수 있습니다.sed
sed -n '/macaddress/{ p
q
}'
답변2
이는 다음을 기반으로 하는 대체 솔루션입니다 awk
.
tail -r file | nawk '/macaddress/ {print;exit}'