이 파일이 있고 내용은 아래에 작성되어 있습니다.
내 파일의 출력 설명을 원합니다 ".SUBCKT C032_THS_COMPARATOR" and end with ".ENDS"
.
.SUBCKT C032_THS_DPDNPROT_cdm_tdpdnw TOPROTECT VPLUS
.SUBCKT C032_THS_DPDNPROT_cdm_tdndsx TOPROTECT VMINUS
*
************************************************************************
* Library Name: DUMMY
* Cell Name:
* View Name: schematic
.SUBCKT C032_THS_COMPARATOR DGND DVDD Icomp PDANAN
+ VOUT VP
*.PININFO CH:I CHN:I Icomp:I PDANA:I PDBANA:I VN:I VP:I VOUT:O AGND:B AVDD:B
*.PININFO DGND:B DVDD:B
MP9 net11 CHN D1 AVDD egpfet m=1 w=2.5u l=0.2u nf=1.0 pccrit=0 plorient=1
+ ngcon=1 p_la=0 ptwell=0 swacc=0 swrg=-1 swrsub=-1 nqs=0 mismatch=1
MP3 net044 net029 DVDD DVDD egpfet m=1 w=4u l=0.15u nf=1.0 pccrit=0 plorient=1
+ ngcon=1 p_la=0 ptwell=0 swacc=0 swrg=-1 swrsub=-1 nqs=0 mismatch=1
MP1 V V V V egpfet m=2 w=3u l=0.5u nf=1.0 pccrit=0 plorient=1 ngcon=1
+ p_la=0 ptwell=0 swacc=0 swrg=-1 swrsub=-1 nqs=0 mismatch=1
MP0 net11 D1 AVDD AVDD egpfet m=1 w=3u l=2u nf=1.0 pccrit=0 plorient=1 ngcon=1
+ p_la=0 ptwell=0 swacc=0 swrg=-1 swrsub=-1 nqs=0 mismatch=1
MP2 net7 D1 AVDD AVDD egpfet m=1 w=3u l=2u nf=1.0 pccrit=0 plorient=1 ngcon=1
+ p_la
1
+ ngcon=1 p_la=0 ptwell=0 swacc=0 swrg=-1 swrsub=-1 nqs=0 mismatch=1
MN4 net7 c TAIL AGND egnfet m=2 w=8u l=1u nf=1.0 pccrit=0 plorient=1 ngcon=1
+ p_la=0 ptwell=0 swacc=0 swrg=-1 swrsub=-1 nqs=0 mismatch=1
.ENDS
답변1
이 시도:
sed -n '/\.SUBCKT\ C032_THS_COMPARATOR/,/\.ENDS/p' filename
HTH, 건배,
답변2
당신은 그것을 사용할 수 있습니다 awk
:
awk '/\.SUBCKT C032_THS_COMPARATOR/{p=1};p;/\.ENDS/{p=0}' file
설명하다
- 가 보이면
.SUBCKT C032_THS_COMPARATOR
을 설정하세요p = 1
. - 가 보이면
.ENDS
을 설정하세요p = 0
. - 값 에 따라
p
현재 위치가 범위 내부인지 외부인지 추적할 수 있으며, 그렇다면 부울 컨텍스트에서 true를p
나타내므로 기본 작업이 전체 입력 줄을 인쇄하게 됩니다. out이 is 인 경우 (부울 컨텍스트에서 false를 의미) 아무 작업도 수행하지 않습니다.1
awk
p
0
awk
또는 sed
:
sed -e '/\.SUBCKT C032_THS_COMPARATOR/,/\.ENDs/!d' file
답변3
또 다른 sed:
sed '1,/^$/d;/\.ENDS/q'
그러나 제공된 데이터에만 기초하면 이 .ENDS
주소가 필요하지 않을 수도 있습니다.
나는 당신이 이것을 할 수도 있다고 생각합니다 :
sed '/^\..*COMPARATOR/,/^\./!d'