使用groovy替换文件中的字符串

时间:2014-02-10 06:16:54

标签: grails groovy groovyshell

我有一个名为“silent.txt”的文件。该文件的行如下

bop4InstallDir = myProps.cordys_install_dir + "/" + instanceName

我想用

替换上面的文字
bop4InstallDir = "/abc/xyz/pqr"

使用groovy脚本我该如何做到这一点? 请帮忙。

3 个答案:

答案 0 :(得分:1)

不是很优雅,但这应该有用。

def file = new File("silent.txt")

file.text = file.text.replace('bop4InstallDir = myProps.cordys_install_dir + "/" + instanceName', 
'bop4InstallDir = "/abc/xyz/pqr"')

答案 1 :(得分:1)

以下代码有效:

def file = new File("silent.txt")
def fileText = file.replaceAll("bop4InstallDir\\ \\=\\ myProps.cordys_install_dir\\ \\+\\ \"\\/\"\\ \\+\\ instanceName", "bop4InstallDir\\ \\=\\ \"/opt/cordys/bop4/defaultInst1\"")
    file.write(fileText);

答案 2 :(得分:0)

silent.txt是否格式良好的属性文件?在这种情况下,您可以使用各种方式来访问它们,比更换哑巴更安全。

groovy: How to access to properties file?ConfigSlurper