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