使用 Perl 搜尋字串, 執行運算並取代

有時候想要對文字檔的內容做運算後再取代原本的文字,本來是想弄個小程式來處理的,寫著寫著發現根本沒必要。

一開始是這樣子寫的:

這樣子就能用類似 sed 一樣的方式處理文字,例如把秒數換算成分鐘:
script.pl ‘s#second=(\d+)#”minutes=”.int($1/60)#e’ file.txt

弄完以後看著這小程式感覺很眼熟,好像在書上看過?Perl 不是有參數可以做類似的事情嗎?

最後用命令列達成一樣的目的:
perl -p -e ‘s#second=(\d+)#”minutes=”.int($1/60)#e’ file.txt

這次印象深刻了,希望下次要用到時能想起來 xD

發佈留言