2017-09-27 1 views
0

텍스트 파일이 있습니다. .subckt로 시작할 경우에만 VDD, VDDG, VSS를 제거하고 싶습니다. 다른 줄도 VDD, VDDG, VSS를 갖습니다.한 줄이 특정 단어로 시작하는 경우에만 일치하는 단어를 제거하십시오.

다음과 같이 일치하는 단어를 바꾸는 간단한 SED 명령을 알고 있지만,이 경우에는 .subckt로 시작하는 줄만 제거하려고합니다. 의견을 보내주십시오. 나에게 큰 도움이 될 것입니다. 미리 감사드립니다.

나오지도의/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//; }' 
관련 문제