sed删除多行
我用sed删除多行几乎没有问题。我读了很多指南和讨论,但没有一个有用。我有一个xml文件,我需要删除这三行中出现的更多内容:sed删除多行,sed,lines,Sed,Lines,我用sed删除多行几乎没有问题。我读了很多指南和讨论,但没有一个有用。我有一个xml文件,我需要删除这三行中出现的更多内容: <function type="class"> <arg name="class.name">com.mycompany.name.UnLockIssueFunction</arg> </function> com.mycompany.name.UnLockIssueFunction 我想只删除之间的部分,但是还
<function type="class">
<arg name="class.name">com.mycompany.name.UnLockIssueFunction</arg>
</function>
com.mycompany.name.UnLockIssueFunction
我想只删除
之间的部分,但是还有更多这样的标签。我的xml文件如下所示
<post-functions>
<function type="class">
<arg name="class.name">com.mycompany.name.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.mycompany.name.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.mycompany.name.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.mycompany.name.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.mycompany.name.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
<function type="class">
<arg name="class.name">com.mycompany.name.UnLockIssueFunction</arg>
</function>
</post-functions>
com.mycompany.name.function.issue.updateSueSueStatusFunction
com.mycompany.name.function.misc.CreateCommentFunction
com.mycompany.name.function.issue.GenerateChangeHistoryFunction
com.mycompany.name.function.issue.IssueReindexFunction
com.mycompany.name.function.event.fireSissueEventFunction
13
com.mycompany.name.UnLockIssueFunction
这可能适合您(GNU-sed):
sed'//!BNN/\s*\n\s*com.mycompany.name.UnLockIssueFunction\s*\n\s*/d'文件
当您进入fancier编辑时,fancier编辑器可能会有所帮助。尝试阅读VIM中的脚本,并查看以下问题:
您想删除
和
之间的任何内容,或者也要删除标记?您必须使用sed
来执行此操作吗?最好使用带有DOM解析库的脚本语言。非常感谢!这正是我想要的needed@Jamalissimo(你可能想接受答案,这样就可以适当地奖励波通了)
sed '/<function type="class">/!b;N;N;/<function type="class">\s*\n\s*<arg name="class.name">com.mycompany.name.UnLockIssueFunction<\/arg>\s*\n\s*<\/function>/d' file