【发布时间】:2016-10-05 21:36:37
【问题描述】:
我有一个属性文件test.properties,其中包含如下所示的一些内容:
#DEV
#jms_value=devdata.example
#TST
#jms_value=tstdata.example
#DEV
#ems_value=emsdev.example
我想根据文件所在的环境取消环境名下的注释。
如果文件进入 DEV 环境。我需要取消注释所有“#DEV”下的行。我使用了以下命令:
perl -i -p -e 's/#DEV\n#(.*)/#DEV\n\1/g;' test.properties
这不会改变文件中的任何内容。
谁能帮我找到解决方案?
【问题讨论】:
-
默认情况下,perl 命令行逐行读取输入(文件或管道)。在这种情况下,您显然不能使用多行模式。