터미널에서 빈 줄바꿈이 나타날 때까지 검색 패턴 결과를 인쇄할 수 있습니까?

터미널에서 빈 줄바꿈이 나타날 때까지 검색 패턴 결과를 인쇄할 수 있습니까?

예를 들어 다음 내용이 포함된 파일이 있습니다.

# TODO: Optimize this.
alias bash='start bash'

# FIXME: Just fix this.
alias fix='there is something wrong with this

내가 원하는 것은 패턴을 검색하면 TODO:다음과 같은 결과가 인쇄되는 것입니다.

# TODO: Optimize this.
alias bash='start bash'

가능합니까?

답변1

이상한 입력단락 모드:

awk -vRS= '/TODO:/' file

답변2

반복됨https://stackoverflow.com/questions/13534306/how-can-i-set-the-grep-after-context-to-be-until-the-next-blank-line

sed하지만 게시물의 조언을 따라야 합니다 .

sed -n '/pattern/,/^$/p' file

답변3

grep해결책.

grep -zoP '(?s)^# TODO.*^$' file

관련 정보