[问题] perl新手一问

楼主: japanet (电机模范生)   2013-04-27 13:18:36
不好意思请教一个问题
我的input file类似这样 这是cacti的output file
Total Cache Size: 131072
Associativity: direct mapped
Block Size (bytes): 128
Technology Size: 0.07um
Access Time (ns): 0.719224
Cycle Time (ns): 0.318145
Total dynamic Read Energy all Banks (nJ): 0.0201788
Total dynamic Write Energy all Banks (nJ): 0.00375056
Total leakage Read/Write Power Without Routing (mW): 452.626
如果我要找到"Access Time (ns):"
然后print出0.719224
不知该用哪个语法呢?
感激不尽~
作者: play9091 (长工)   2013-04-27 14:30:00
open(name,"filename.txt")for $line (<name>){if (line =~ m/Access Time/){@sline = split(' ',$line);print "$sline[3]\n";}}Sorry,第一行的行末没有加上分号 " ; "第三行的 " line " 改为 " $line "最近在写 Python , Perl 反而有点生了!
楼主: japanet (电机模范生)   2013-04-28 13:00:00
感谢不尽~可以再请教如何读多个档案进来跑这个for loop呢?
作者: play9091 (长工)   2013-04-28 17:31:00
要多加档案的话要改写吧!您有写过Perl吗?外面再包一个LOOP,或是另外一种写法……
作者: pshuang (中山先生忠实信徒-我爱萝)   2013-05-03 18:08:00
print `cat file | grep "Access Time" |cut -d ":" -f 3`用perl来处里shell最擅长的事,不会很累吗?要多个档案 把cat file 中 file 改成变量就好
作者: HowLeeHi (处处留心皆正妹)   2013-05-29 17:50:00
不用多一道cat手续,直接 grep "Access Time" file省时然后cut -d ":" -f 2

Links booklink

Contact Us: admin [ a t ] ucptt.com