단순화된 문서 고려
AAA
BBB
CCC1
DDD
EEE
CCC2
DDD
FFF
GGG
CCC3
HHH
EEE
범위를 선택할 수 있어요FFF
sed -n '/EEE/,/FFF/p'
C
다음을 포함하지만 일치하는 범위 내에만 있는 행을 인쇄하고 싶다고 가정해 보겠습니다 . sed
결과를 파이프로 보낼 수 있어요grep
sed -n '/EEE/,/FFF/p' | grep 'C'
awk
또한 작은 스크립트에서 범위 및 일치( perl
또는 등)를 수행할 수도 있습니다 python
. 하지만 단 한 번의 호출만으로 이 작업을 수행하려면 어떻게 해야 합니까 sed
?
답변1
sed가 C를 볼 때만 인쇄하도록 지시하는 블록을 사용하세요.
sed -n '/EEE/,/FFF/{/C/p}'
답변2
당신은 시도 할 수 있습니다:
sed '/EEE/,/FFF/!d;/C/!d'