【发布时间】:2013-05-03 03:55:59
【问题描述】:
我希望替换 file1 中 abc_def_APP 和 application1.war 字符串之间的 new_version 变量 (13.2.0/8) 的内容
脚本:
#!/bin/ksh
new_version="13.0.5/8"
old_version=($(grep -r "location=.*application1.war" /path/file1| awk '{print ($1)}'| cut -f8- -d"/"|sed 's/.\{1\}$//'))
echo "$old_version" 'This gives me version number from file1 which needs to be replaced(13.2.0/9)
文件 1 内容:
location="cc://view/blah/blah/blah/abc_def_APP/13.2.0/9/application1.war"
【问题讨论】:
-
您如何知道文件内容中旧版本文本的位置?我的意思是
13.2.0/9也可以是不同的字符串,不是吗? -
是的,它可以是任何字符串。我需要将
abc_def_APP和application1.war之间的字符串替换为新版本号 -
但是脚本如何知道应该在文件内容的哪个位置进行替换?
-
@anubhava:我在上面的评论中更新了我的答案。 .该脚本需要将
abc_def_APP和application1.war之间的字符串替换为新的版本号。并且该行也始终以location=开头 -
@anubhava : 我们可以在
application1.war上做一个正则表达式匹配然后替换吗?