빈 줄과 중복 줄을 제거하는 이 awk 스크립트는 어떻게 작동합니까?

빈 줄과 중복 줄을 제거하는 이 awk 스크립트는 어떻게 작동합니까?

awk명령은 빈 줄과 중복 줄을 제거하는 데 사용됩니다.

sort abc.log | awk 'LAST != $0 {print} {LAST=$0}'

"LAST != $0" 및 "{LAST=$0}"를 사용하는 방법과 해당 기능이 무엇인지 알고 싶습니다.

답변1

sort명령은 행을 정렬합니다 abc.log. 결과는 서로 연결된 중복 행입니다.

awk이 정렬된 파일을 입력으로 사용하십시오. 현재 행( 에 있음 )을 변수의 내용과 $0비교합니다 LAST. 라인은 다른 경우에만 !=인쇄됩니다 ( ). 현재 줄의 내용은 변수에 저장됩니다 LAST. 따라서 다음 반복에서 비교할 수 있습니다.

sort참고: 및 의 조합을 사용하지 말고 중복 행을 제거하는 데만 awk사용하십시오 .sort -u abc.log

관련 정보