안녕히 가세요
이 패턴이 발견되면 연속된 행을 제거하는 방법을 알고 싶습니다./^pt [a-z]\npy [0-9][0-9][0-9][0-9]\n//
예상 입력
pt a
py 01234
pt b
cd abc
py 5678
예상 출력
pt b
cd abc
py 5678
어떤 단서라도 미리 감사드립니다.
답변1
이것은 작동합니다:
sed '/^pt [a-z]/{N;/py [0-9][0-9][0-9][0-9]/d}' your_file
확장하다
- 현재 줄이 일치하면
/^pt [a-z]/
중괄호 사이의 내용을 실행합니다. N
활성 버퍼에 다음 줄을 추가합니다.- 이제 활성 버퍼가 일치하면
/py [0-9][0-9][0-9][0-9]/
활성 버퍼의 내용을 삭제(즉, 인쇄하지 않음)합니다. 이는 를 통해 달성됩니다d
.
답변2
펄을 통해,
$ perl -00pe 's/^pt [a-z]\npy [0-9]{5}\n//' file
pt b
cd abc
py 5678