我的问题更多的是优化问题,而不是“howto”。
我有一个 lef 文件,有数千行,格式如下:
RECT 429.336 273.821 426.246 274.721 ;
我想使用单线将所有矩形向左移动 4 um:
perl -lane '$F[2] > 1200 ? print $F[0]," ", ($F[1] - 4)," ", $F[2]," ", ($F[3] -4)," ", $F[4], " ;" : print $_' trial.lef
事情是,这很丑陋。
有没有更好的方法来编辑文件?
我不挑剔,很乐意用其他语言(awk、sed 等)得到答案,只要它们比我写的更好。
附加输入:
LAYER M12 ;
RECT 0 411.214 1 412.214 ; <-- shouldn't change, because 411.214 < 1200
END
END kuku_pin
PIN gaga_pin
DIRECTION OUTPUT ;
USE SIGNAL ;
PORT
LAYER M11 ;
RECT 43.1045 1203.138 43.1805 1207.29 ; <-- should change to "RECT 39.1045 1203.138 39.1805 1207.29"
END