키워드 LAYOUT_PRIMARY를 검색하여 resis_test를 m.gds로 바꾸려고 했습니다.
sed -e 's/\(LAYOUT PRIMARY\).*\1 /m.gds/' < FILE.ex > b
파일.ex
LAYOUT PRIMARY "resis_test"
LAYOUT SYSTEM GDSII
DRC RESULTS DATABASE "resis_test.drc.results" ASCII
DRC MAXIMUM RESULTS 1000
DRC MAXIMUM VERTEX 199
답변1
더 안전한
sed -e '/LAYOUT PRIMARY/s/resis_test/m.gds/' < FILE.ex > b
답변2
이 시도:
sed -e 's/\(LAYOUT PRIMARY\).*/\1 m.gds/'
^^^
소스 섹션이 아닌 교체 섹션에서 캡처링 그룹에 대한 호출을 확인하세요.
답변3
다음 명령을 사용하여 테스트하면 훌륭하게 작동합니다.
명령 1:
awk '/LAYOUT PRIMARY/{print gsub("resis_test","m.gds",$0)}1' filename
명령 2:
sed '/LAYOUT PRIMARY/s/resis_test/m\.gds/g' filename
산출
LAYOUT PRIMARY "m.gds"
LAYOUT SYSTEM GDSII
DRC RESULTS DATABASE "resis_test.drc.results" ASCII
DRC MAXIMUM RESULTS 1000
DRC MAXIMUM VERTEX 199