2017-09-27 21 views
0

テキストファイルがあります。私は、行が.subcktで始まる場合のみ、VDD、VDDG、VSSを削除したいと思っていました。他の行にもVDD、VDDG、VSSがあります。行が特定の単語で始まる場合にのみ一致する単語を削除します。

以下に示すように、一致する単語を置き換える単純なSEDコマンドがありますが、ここでは行が.subcktで始まるかどうかを取り除きたいだけです。フィードバックをお寄せください。それは私にとって大きな助けになるでしょう。前もって感謝します。

SEDさん/ VDD// 'test.txtの

あるtest.txt:私が思い付くものだ

.subckt AO22X2_RVT A1 A2 A3 A4 VDD VSS Y 
MN1 net2 A2 VSS VSS n105 w=0.28u l=0.03u nf=1.0 m=1 
MN3 net4 A4 VSS VSS n105 w=0.28u l=0.03u nf=1.0 m=1 
MN5 Y net3 VSS VSS n105 w=0.42u l=0.03u nf=1 m=2 
MN4 net3 A3 net4 VSS n105 w=0.28u l=0.03u nf=1.0 m=1 
MN2 net3 A1 net2 VSS n105 w=0.28u l=0.03u nf=1.0 m=1 
MP4 net3 A3 net1 VDD p105 w=0.54u l=0.03u nf=1.0 m=1 
MP1 net1 A2 VDD VDD p105 w=0.54u l=0.03u nf=1.0 m=1 
MP2 net1 A1 VDD VDD p105 w=0.54u l=0.03u nf=1.0 m=1 
MP5 Y net3 VDD VDD p105 w=0.8u l=0.03u nf=1 m=2 
MP3 net3 A4 net1 VDD p105 w=0.54u l=0.03u nf=1.0 m=1 
.ends AO22X2_RVT 
.subckt AOINVX4_RVT A VDD VDDG VSS Y 
MN0 Y A VSS VSS n105 w=0.31u l=0.03u nf=1 m=4 
MP0 Y A VDDG VDDG p105 w=0.80u l=0.03u nf=1 m=4 
.ends AOINVX4_RVT 
. 
. 
. 

答えて

2

awkソリューション、

awk '/^\.subckt/{gsub(/VDD|VDDG|VSS/,"")}1' file 
0

:ここ

sed '/^\.subckt/ {s/VDD//; s/VDDG//; s/VSS//; }' 
関連する問題