本質上,我想創建一個腳本來部署數據庫連接腳本來託管SVN分支。Perl /正則表達式:編輯文件中的一行
模板文件看起來像
//comments
//comments
//comments
//$db="user:[email protected]/###branchdb###";
//other stuff
基本上我想:
- 查找### branchdb ###
- 行刪除在所涉及的起動的評論line'//'
- 用腳本參數替換### branchdb ###
這個腳本是基於Perl的,所以我想我想用Perl來完成這個任務,儘管我知道Bash/Linux環境也提供了很多工具來完成這個任務,所以如果我需要使用它們,它。
我還假設我需要使用一些正則表達式的這個?也許不是,但是我肯定喜歡像正則表達式一樣對我來說是一個不變的失敗點,所以我可以嘗試更多的藉口,讓我的腦袋變得更好:)
感謝您的幫助!
完整的解決方案與下面韋斯的幫助:
open IN, $sourceFile or die "Can't open $sourceFile";
open OUT, ">$destinationFile" or die "Can't write to $destinationFile";
while(<IN>) {
if ($_ =~ m/%BRANCH_DB%/) {
$_ =~ s!^\s*//!!;
$_ =~ s/%BRANCH_DB%/$branch/;
}
print OUT $_;
}
close(IN);
close(OUT);
我也改變了### branchdb ###至%BRANCH_DB%,因爲我被告知這是一個比較常見的佔位符。
非常感謝!我認爲你假設我知道的比我應該多,我還需要額外的文件閱讀/寫作毛病,但最終我到了那裏。 – DanH 2011-04-26 08:28:37