我正在尝试使用sed更新一堆文件中的日期。
以下是有关版权部分外观的列表
Copyright 2015
CopyRight 2012, 2015
copyright 2011-2012
CopyRight 2014
我想将其更改为
Copyright 2015
或者
CopyRight 2011-2015
这就是我到目前为止
sed -i 's/copyright[\s]*(2015)?([0-9]*).*//I'
问题是在替换中使用了capures。我想在“如果组1是一个匹配项,则不执行任何操作,如果组2匹配,请替换为\ 2-2015”这行中的内容
仅对于列出的示例,以下内容似乎与预期结果匹配:
sed 's/\(copyright.*\)201[01234]$/\12015/Ig'
如果您拥有自200年甚至19年以来一直在运行的版权,则该表达式将匹配不以2015结尾的所有版权行。您必须调整此正则表达式。
顺便说一句,尝试一下,只需忘记sed的-i开关
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句