由於公司被合併了~ 所以原本程式中發告警或報表都是採用mail的方式,所以程式中mail address也要改成新的郵件帳號,由於大家的程式一大堆,又雜在不同目錄裡,所以一定要用程式來自動修改才比較理想,在Unix下處理字串最強的程式那就是Perl了,希望能達到下一行指令就能全部搞定的目標~
舊的mail為: taiwanwolf@abc.com.tw
新的mail為: taiwanwolf@def.com.tw
大家的程式都放在 /home/個人目錄下
Perl 的一行程式簡介,當然要來個 Hello World示範~
#perl -e 'print "hello World\n"'
這樣就會印出 hello World
至於自動置換email的作法如下:
進入要改的目錄,其目錄下的檔案為修改的目標
#cd /home
執行此指令,將檔案中有 @abc.com.tw 的字串置換成 @def.com.tw
#perl -i.bak -pe 's/\@abc.com.tw/\@def.com.tw/g' *
參數說明:
-i.bak
將會修改的檔案,自動備份為 *.bak,不加.bak的話就會直接替換掉,不會備份
-e
執行 command line 一定要加
-p
loops 會不斷重複執行
終極版:如果要 /home 與裡面所有子目錄內的檔案都要改到的話,就要再加上 grep 的加持
#perl -i.bak -pe 's/\@abc.com.tw/\@def.com.tw/g' `grep -ril @abc.com.tw *`
2009年3月18日
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言