如何使用shell脚本更改属性文件中的条目的值

时间:2014-07-15 07:42:29

标签: shell

我要更改属性文件中条目的值。属性文件将在第7行中有一个条目

baseDir={baseDIR}

上面一行的cat和grep很简单,但我不确定如何在“=”之后输入我的自定义值并将其插入到文件中。

我想将其更改为

baseDir=/home/db/<new folder>/

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用replace实用程序:

burhan@sandbox:~$ cat test.cat
foo=bar
zoo=blah
abc
def
1234
baseDir={baseDir}
something
something-else
burhan@sandbox:~$ replace {baseDir} /home/burhan -- test.cat
test.cat converted
burhan@sandbox:~$ cat test.cat
foo=bar
zoo=blah
abc
def
1234
baseDir=/home/burhan
something
something-else

如果没有安装(它附带MySQL),您可以使用perl

burhan@sandbox:~$ perl -pi -w -e 's/\/home\/burhan/{baseDir}/g;' < test.cat
foo=bar
zoo=blah
abc
def
1234
baseDir={baseDir}
something
something-else

sed(但如果要写一条路径,则必须确保转义\字符):

burhan@sandbox:~$ cat test.cat
foo=bar
zoo=blah
abc
def
1234
baseDir={baseDir}
something
something-else

burhan@sandbox:~$ sed -i 's/{baseDir}/\/home\/burhan\//' test.cat
burhan@sandbox:~$ cat test.cat
foo=bar
zoo=blah
abc
def
1234
baseDir=/home/burhan/
something
something-else