동일한 항목이 여러 줄 포함된 대용량 로그 파일이 있습니다. 이를 "중복 정보"라고 부르겠습니다. 예를 들어, 로그의 일부는 다음과 같습니다.
[Timestamp] repeat-info
[Timestamp] repeat-info
[Timestamp] Log information 1
[Timestamp] Log information 2
[Timestamp] repeat-info
[Timestamp] Log information 3
[Timestamp] repeat-info
로그 파일의 정보를 출력하고 중복된 정보를 제외할 수 있는 명령어가 있나요? more file.log
내가 보고 싶은 것을 찾기 위해 중복된 정보를 모두 사용하고 선별해야 한다면 번거로워집니다.
매뉴얼 페이지를 읽고 있는데 sed
내 awk
문제에 대한 검색에서 이러한 내용이 나오는 것을 보았지만 필요한 사항을 충족하는 결정적인 내용은 찾지 못했습니다.
오래된 질문을 검색하다가 발견했습니다.이 문제이것은 나와 관련이 있습니다.
스크립트를 만들지 않고도 단일 명령이나 두 개의 파이프를 함께 연결하여 이를 수행할 수 있는 방법을 찾고 있습니다.
어떤 도움이라도 대단히 감사하겠습니다!
답변1
이를 수행하는 방법에는 여러 가지가 있습니다. 최고는 다음과 같습니다 grep
.
grep -v 'repeat-info' file.log
다른 방법:
sed '/repeat-info/d' file.log
sed -n '/repeat-info/!p' file.log
awk '!/repeat-info/' file.log