我尝试通过搜索关键字 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