文件名:URL.java
内容:
public static String serverURL = "http://100.140.0.60:8080";
public static String serverURL1 = "http://100.140.0.60:8080";
public static String serverURL2 = "http://100.140.0.60:8080";
public static String serverURL3 = "http://100.140.0.60:8080";
在上面的文件中,
我需要使用shell脚本
动态地将ServerURL变量值更改为http://80.140.0.80:8080注意:
不应根据行号动态更改值。
将来会有一些额外的行添加到此文件中。 所以我需要根据某些条件更改serverURL变量值。
答案 0 :(得分:0)
您可以使用sed
,例如:
sed -i "s/STRING_TO_REPLACE/STRING_TO_REPLACE_WITH/g" <file>
虽然你需要注意逃避斜线和点,所以在你的情况下
sed -i "s/http:\/\/100\.140\.0\.60:8080/http:\/\/80.140.0.80:8080\//g" URL.java
如果我理解你的动态&#34;你可以把它放在一个shell脚本中。正确的。
如果您想要更多灵活性,那么您应该查看awk
或perl
脚本。
答案 1 :(得分:0)
您还可以使用类似的方法仅更改包含端口8080
的行中的IP。例如,要调用上面显示的更改,您只需要:
sed 's/[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}\(:8080\)/80.140.0.80\1/'
这将导致端口8080
的地址的IP为:
public static String serverURL = http://80.140.0.80:8080