如何使用 korn shell 脚本编辑 .ini 文件?
How can I edit an .ini file with a korn shell script?
我有一个如下所示的 .ini 文件
[test]
foo=bar
我的文件名为 test.ini
我想编写一个 korn shell 来修改我的 test.ini 文件以用于以下内容
[test]
foo=barzar
我尝试了以下方法,但它不起作用。
sed -i.bak '/^\[test]/,/^\[/{s/^foo[[:space:]]*=.*/foo = foobarbaz/}' test.ini
有人有建议吗?
尝试:
perl -p -i -e 's/(foo=bar)/zar/g' test.ini
假设您只想更改 [test]
块中的 foo=something
:
sed -i.bak '/^\[test\]/,/^\s*foo\s*=/ s/^\s*foo\s*=.*/ foo = barzar/' test.ini
第一部分构成了 [test]
和包含 foo =
之间的行的地址,foo 之前和之后的可选空格。替换只会在这里发生。
第一部分:/^\[test\]/,/^\s*foo\s*=/
第二部分是在foo前、foo后、=:
后插入空格的替换
第二部分:s/^\s*foo\s*=.*/ foo = barzar/
我有一个如下所示的 .ini 文件
[test]
foo=bar
我的文件名为 test.ini
我想编写一个 korn shell 来修改我的 test.ini 文件以用于以下内容
[test]
foo=barzar
我尝试了以下方法,但它不起作用。
sed -i.bak '/^\[test]/,/^\[/{s/^foo[[:space:]]*=.*/foo = foobarbaz/}' test.ini
有人有建议吗?
尝试:
perl -p -i -e 's/(foo=bar)/zar/g' test.ini
假设您只想更改 [test]
块中的 foo=something
:
sed -i.bak '/^\[test\]/,/^\s*foo\s*=/ s/^\s*foo\s*=.*/ foo = barzar/' test.ini
第一部分构成了 [test]
和包含 foo =
之间的行的地址,foo 之前和之后的可选空格。替换只会在这里发生。
第一部分:/^\[test\]/,/^\s*foo\s*=/
第二部分是在foo前、foo后、=:
后插入空格的替换
第二部分:s/^\s*foo\s*=.*/ foo = barzar/