[問題] perl新手一問

看板Perl作者 (電機模範生)時間12年前 (2013/04/27 13:18), 編輯推噓4(4015)
留言19則, 4人參與, 最新討論串1/1
不好意思請教一個問題 我的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 不知該用哪個語法呢? 感激不盡~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 67.79.77.75

04/27 14:30, , 1F
open(name,"filename.txt")
04/27 14:30, 1F

04/27 14:32, , 2F
for $line (<name>){
04/27 14:32, 2F

04/27 14:33, , 3F
if (line =~ m/Access Time/){
04/27 14:33, 3F

04/27 14:35, , 4F
@sline = split(' ',$line);
04/27 14:35, 4F

04/27 14:36, , 5F
print "$sline[3]\n";
04/27 14:36, 5F

04/27 14:37, , 6F
}
04/27 14:37, 6F

04/27 14:37, , 7F
}
04/27 14:37, 7F

04/27 14:38, , 8F
Sorry,第一行的行末沒有加上分號 " ; "
04/27 14:38, 8F

04/27 14:38, , 9F
第三行的 " line " 改為 " $line "
04/27 14:38, 9F

04/27 14:41, , 10F
最近在寫 Python , Perl 反而有點生了!
04/27 14:41, 10F

04/28 13:00, , 11F
感謝不盡~
04/28 13:00, 11F

04/28 13:06, , 12F
可以再請教如何讀多個檔案進來跑這個for loop呢?
04/28 13:06, 12F

04/28 17:31, , 13F
要多加檔案的話要改寫吧!您有寫過Perl嗎?
04/28 17:31, 13F

04/28 17:31, , 14F
外面再包一個LOOP,或是另外一種寫法……
04/28 17:31, 14F

05/03 18:08, , 15F
print `cat file | grep "Access Time" |cut -d ":" -f 3`
05/03 18:08, 15F

05/03 18:09, , 16F
用perl來處裡shell最擅長的事,不會很累嗎?
05/03 18:09, 16F

05/03 18:11, , 17F
要多個檔案 把cat file 中 file 改成變數就好
05/03 18:11, 17F

05/29 17:50, , 18F
不用多一道cat手續,直接 grep "Access Time" file省時
05/29 17:50, 18F

05/29 17:52, , 19F
然後cut -d ":" -f 2
05/29 17:52, 19F
文章代碼(AID): #1HUr-lKb (Perl)
文章代碼(AID): #1HUr-lKb (Perl)