このファイルがあり、内容は以下に書かれています。
私のファイルの出力説明が欲しいです".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
現在の位置が範囲内か外部かを追跡できます。そうであれば、ブール値コンテキストで真を表す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'