如何避免Perl单行命令删除含m_nMaxParticles的行并添加指定内容?
解决方法
原Perl命令的问题在于用新文本完全替换了匹配到的m_nMaxParticles行,要保留该行并追加指定内容,只需在替换字符串开头保留捕获到的原行内容(即$1),再拼接需要添加的文本:
修改后的命令:
perl -i -pe "s/(m_nMaxParticles.*)/$1\n\tm_ConstantColor = \n\t[\n\t\t0,\n\t\t230,\n\t\t255,\n\t\t255,\n\t]\n\tm_nConstantSequenceNumber = 6/g" "C:\MyFile.vpcf"
关键改动说明
- 原替换内容直接用新文本覆盖了匹配行,现在在开头加入
$1,代表正则捕获组中保存的原m_nMaxParticles整行内容 - 后续的
\n\t用于在原行之后换行并缩进,确保添加的代码格式符合文件原有风格
内容的提问来源于stack exchange,提问作者staaandup
相关产品推荐
相关产品推荐

