Re: [問題] 如何修改一個資料夾中的所有檔案?
※ 引述《imce (蜥蜴)》之銘言:
: ※ 引述《CrowOnTorii (烏鴉)》之銘言:
: : 檔案形式如下:125,160
: : ...
: : xmax_288 xmin_7
: : ymax_170 ymin_7
: : 現在我想要把每個檔案的最後兩列都砍掉然後存回原檔案
: : 也就是把xmax,ymax這兩列砍掉
: opendir(DIR,"."); #
: @DIR=readdir(DIR); #把.資料夾底下的檔案讀入@DIR
: close(DIR); #
: foreach(@DIR)
: {
: next if ($_ =~ /^\./); #略過.和..兩個
: open(FILE,"$_");@temp=<FILE>;close(FILE); #檔案讀入@temp
: pop(@temp);pop(@temp); #把後面兩行去掉
: open(FILE,">$_");print FILE join("",@temp);close(FILE); #檔案寫回去
: }
: #應該是這樣吧
use Tie::File;
foreach (<*>) {
tie my @text, 'Tie::File', $_;
$#text -= 2;
untie @text;
}
為防誤砍不該砍的行,可將藍色部分改為:
-- $#text while ($text[-1] =~ /^[xy]max/);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 143.89.144.107
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章