我需要更新移動到新主機的網站。我想下面的行添加到每個文件中,只有一次,<?php
第一次出現後:在第一個<?php行後面添加一行代碼
define('FRAMEWORK_LOCATION', '/home/someUser/framework.php');
我曾經嘗試這樣做的Perl oneliner的幾個變化:
$ find . -name '*' -print0 | xargs -0 perl -pi -e 's|<?php|<?php\rdefine('\''FRAMEWORK_LOCATION'\'', '/home/someUser/framework.php');'
然而,如被看到會影響所有線路。在初始<?php
之後,我並不特別擔心其他代碼的情況,儘管如果解決方案確實考慮到了這一點,那麼這對我也有好處。
建議:您可能希望將define()放在config.php中,然後將該文件包含在其他文件中。這樣你可以在未來獲得靈活性。 – HappyTimeGopher 2012-08-11 11:37:10
@HappyTimeGopher:不,我不會獲得更多的靈活性,因爲我仍然需要更新包含()config.php文件的行。如果任何一行發生更改,則更新現有行是一個更簡單的Perl腳本。 – dotancohen 2012-08-11 11:46:31
@dotancohen不開心是對的。下次您需要更改FRAMEWORK_LOCATION時,您只需在一個位置而不是每個文件中執行此操作。 – vascowhite 2012-08-11 11:49:42