2013-12-23 49 views
-1

我運行一個服務器,當我更新時,我必須重新配置其各自源文件中的所有提示。如果不超過1000行,我最終不得不重新配置數百行,以便在每次更新時使服務器按需運行。這需要將近三天的時間才能更新,其中有兩天花費了這些時間。如何腳本替換多行唯一文本?

我正在尋找一種方法來取代(例如)「godmodemsg:你一直以來都是這樣的人。」在第30行與「godmodemsg:你的力場現在是活躍的」,以及其他幾條不同的線。我需要它能夠替換它,如果該行也改變爲第53行。大多數這是在一個正常的文本文件中完成的。我會如何去做這件事?

+0

歡迎來到StackOverflow!要求推薦工具或圖書館的問題是SO的主題,可能會被關閉。然而,這聽起來像你只需要在你使用的任何編譯器中使用find替換方法。 – paqogomez

回答

0
sed -i -e 's/You have been godded./Your forcefield is now active/g' /dir/yourfile.txt 
+0

我認爲會在命令提示符下使用,不是嗎? – user3130553

+0

是的,正如delephin指出的那樣,這是一個適當的選擇。 – crnlx

0

如果sed的你有不支持-i(到位)選項的版本,你必須將輸出重定向到一個臨時文件,然後從做臨時文件的MV原來的一個。要小心,你應該首先抓住臨時文件來檢查替換的結果是否符合你的預期。