특정 줄과 그 뒤의 17줄 삭제 [중복]

특정 줄과 그 뒤의 17줄 삭제 [중복]

IP 주소, 호스트 이름 등 일부 정보를 추출하는 보고서가 있습니다. 일부 서버에는 다음과 같은 헤더가 있습니다. NOTICE TO USERS(약 17줄의 텍스트 정보가 이어짐) 파일을 분류할 때 NOTICE가 필요하지 않습니다(일부 서버에는 17줄이 더 있습니다). 어떻게 제거할 수 있나요?

답변1

awk '/NOTICE TO USERS/ { lastdelline=NR+17 };
    lastdelline>0 && NR<=lastdelline { next; }; { print; }' inputfile

답변2

다음 sed 명령을 사용하여 동일한 효과를 얻을 수 있습니다

sed '/NOTICE TO USERS/,+17d' filename

동일한 파일에서 NOTICE TO USERS 라인이 포함된 17행을 삭제하려면 sed 명령에서 -i 옵션을 사용할 수 있음을 의미합니다.

sed -i '/NOTICE TO USERS/,+17d' filename

관련 정보