2013-04-30 73 views
-1

假如我在下面的目錄A/B/C/prop和需要檢查e0e1文件從其他100 files.In的字符串替換這兩個文件我有以下項目:搜索字符串,並改變/後「=」

$DBConnection_target=targetname 
$DBConnection_source1=sourcename 

我需要更改targetnamesourcename以及將使用的字符串,取自鍵盤(讀取)。 這些字符串可能會出現超過2-3次。

+0

假設你付出的人來解決這個給你。或者,假設您向我們展示了您嘗試過的以及您失敗的方式,並假設有人願意提供幫助。 – 2013-04-30 12:11:15

+0

什麼是'e0'和'e1'? – chepner 2013-04-30 12:11:43

+1

這個問題並不十分清楚,但似乎您有兩個名爲'e0'和'e1'的文件,您希望替換某些文本字符串。使用'sed'。 – 2013-04-30 12:17:28

回答

2

您可以使用sed在兩個文件,e0e1進行替換,如下圖所示:

# set what you want the source and target to be changed to here: 
newSource=foo 
newTarget=bar 

sed -i 's/\($DBConnection_target\)=.*$/\1='"$newTarget"'/;s/\($DBConnection_source1\)=.*$/\1='"$newSource"'/' e0 e1 
+0

plz提供更簡單的命令:a)從多個文件中搜索兩個必需的文件b)僅編輯以下變量的兩個文件:$ DBConnection_target =目標名稱 $ DBConnection_source1 =源名.....需要更改目標名稱和源名稱僅用於這兩個變量。我將在其他服務器上使用此命令來執行操作。 – Kaku 2013-05-02 05:47:58

+0

感謝dogbane ...但我需要從鍵盤採取新聞來源和newtarget「閱讀新聞來源」將正常工作,如果我使用?或者善意地建議其他方式。 – Kaku 2013-05-02 05:53:11

+0

是的,'read newSource'會很好。 – dogbane 2013-05-02 07:35:33