Shell 搜索一个字符串,并在“替换”后更改/替换字符串=&引用;

Shell 搜索一个字符串,并在“替换”后更改/替换字符串=&引用;,shell,awk,sed,Shell,Awk,Sed,假设我在以下目录A/B/C/prop中,需要从其他100个文件中检查e0和e1文件。在这两个文件中,我有以下条目: $DBConnection_target=targetname $DBConnection_source1=sourcename 我只需要更改targetname和sourcename以及将要使用的字符串(从键盘读取)。 这些字符串可能出现2-3次以上。您可以使用sed在两个文件e0和e1中执行替换,如下所示: # set what you want the source and

假设我在以下目录
A/B/C/prop
中,需要从其他100个文件中检查
e0
e1
文件。在这两个文件中,我有以下条目:

$DBConnection_target=targetname
$DBConnection_source1=sourcename
我只需要更改
targetname
sourcename
以及将要使用的字符串(从键盘读取)。
这些字符串可能出现2-3次以上。

您可以使用
sed
在两个文件
e0
e1
中执行替换,如下所示:

# 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

假设你付钱给某人帮你解决这个问题。或者假设您正在向我们展示您的尝试和失败的原因,并假设有人愿意提供帮助。
e0
e1
是什么?问题一点也不清楚,但您似乎有两个名为
e0
e1
的文件,您希望在其中替换某些文本字符串。使用
sed
。抱歉。但我不熟悉这个论坛,也不熟悉shell脚本。这就是为什么我无法清除这种情况。请提供更简单的命令:a)搜索多个必需文件中的两个b)仅为以下变量编辑这两个文件:$DBConnection\u target=targetname$DBConnection\u source1=sourcename..... 只需更改这两个变量的目标名称和源名称。我将在其他服务器上使用此命令来执行操作。感谢dogbane。。。但我需要从键盘上获取newsource和newtarget,如果我使用“ReadNewSource”,它是否能正常工作?或者请提出其他建议。