2013-04-30 75 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