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”,它是否能正常工作?或者请提出其他建议。