![sed에서 "첫 번째 패턴 발생 이후의 줄에서만 인쇄"를 어떻게 표현합니까?](https://linux55.com/image/221951/sed%EC%97%90%EC%84%9C%20%22%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%ED%8C%A8%ED%84%B4%20%EB%B0%9C%EC%83%9D%20%EC%9D%B4%ED%9B%84%EC%9D%98%20%EC%A4%84%EC%97%90%EC%84%9C%EB%A7%8C%20%EC%9D%B8%EC%87%84%22%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%91%9C%ED%98%84%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
입력이 있을 때:
-------------------------------------------------------------------
Sat Jul 1 09:28:03 UTC 2023 - Matej Cepl <[email protected]>
- Clean up SPEC file.
-------------------------------------------------------------------
Mon Jul 4 18:11:38 UTC 2022 - Matej Cepl <[email protected]>
- Do not unset various variables when calling make (only CFLAGS
should be set).
나는 다음과 같은 출력을 받고 싶습니다.
- Clean up SPEC file.
-------------------------------------------------------------------
Mon Jul 4 18:11:38 UTC 2022 - Matej Cepl <[email protected]>
- Do not unset various variables when calling make (only CFLAGS
should be set).
답변1
논리를 반대로 바꿔서 행 1을 삭제하세요. 1 - 패턴 일치(포함)
sed '1,/PATTERN/d' infile
답변2
sed '0,/pattern/d' inputfile.txt
0,/pattern/
파일 처음부터 일치 시작pattern/d
일치하는 행과 그 앞의 모든 후속 행을 삭제합니다.
sed '0,/Sat/d' inputfile.txt
출력을 새 파일로 리디렉션합니다.
sed '0,/Sat/d' input.txt > outputfile.txt