터미널에서 분할된 부분 인쇄

터미널에서 분할된 부분 인쇄

다음과 같은 구조의 파일이 있습니다. 현재 섹션 전체를 인쇄하고 싶습니다. 입력은 다른 제목이나 키워드일 수 있습니다.

## DN [TITLE] KEYWORD,KEYWORD
## text line
## another text line
## DN [TITLE] ends here

이 문서를 고려해보세요

some text

## DN [Opcon] bash,recources
## text line
## another text line
## DN [Opcon] ends here

more text

사용자가 Opcon, bash또는 를 지정하면 recources이 섹션이 터미널에 인쇄됩니다.

출력 받기

## DN [Opcon] bash,recources
## text line
## another text line
## DN [Opcon] ends here

검색 패턴을 위해 다음과 같은 ptn패턴 매칭을 구축했습니다 ## DN [TITLE] KEYWORD,KEYWORD.

  dpn='[[:space:]]*([#;!]+|@c|//)[[:space:]]DN[[:space:]]\[.*\]'
  kpn='[[:space:]][^,]+(,[^,]+)*'

  ptn="^($dpn)($kpn)?$"

사전 시도가 이루어졌습니다.awk

dn_ere='^[[:space:]]*([#;!]+|@c|//)[[:space:]]DN[[:space:]]\[.*\]'

beg_ere="${dn_ere} ${keyword}$"
end_ere="${dn_ere} ends here$"

awk -v begpn="$beg_ere" -v endpn="$end_ere" \
  '$0 ~ begpn { insc=1; next }
   $0 ~ endpn { insc=0; print "" }
   insc { print }' "$efile"

첫 번째 키워드에 일치하는지, 두 번째 키워드에 일치하는지 알 수 없기 때문에 매칭에 어려움이 있습니다 keyword.beg_ere

관련 정보