我在文件中有以下文字:
@XmlElement(namespace = "urn:ietf:params:xml:ns:icalendar-2.0", required = true)
我想将其替换为:
@Namespace(reference="urn:ietf:params:xml:ns:icalendar-2.0")
@Element(required = true)
我也想替换所有的事件。
请在脚本中建议如何在多个文件上运行。
答案 0 :(得分:1)
在Linux上你可以在shell中做这样的事情:
sed 's/@XmlElement(namespace = \(".*"\), \(required = true\))/@Namespace(reference=\1)\n@Element(\2)/' files
请注意,最后的files
将是您的文件名称或模式,例如*.txt
。您可以在-i
之后添加sed
(在它们之间留一个空格)来编辑“就地”文件,这意味着文件将被实际编辑。您应该首先备份文件,因为这会更改它们。你也可以在-i
之后抛出一个扩展名,就像-ibak
一样,它应该为每个文件创建一个.bak
扩展名的备份,但请仔细检查你的sed版本是否有效这个(即man sed
并阅读-i
)。