linux系统 /home目录下有一个文件test.xml,内容如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14<configuration>
<artifactItems>
<artifactItem>
<groupId>zzz</groupId>
<artifactId>aaa</artifactId>
</artifactItem>
<artifactItem>
<groupId>xxx</groupId>
<artifactId>yyy</artifactId>
</artifactItem>
<!-- </artifactItem><groupId>some groupId</groupId>
<version>1.0.1.2.333.555</version> </artifactItem>-->
</artifactItems>
</configuration>
请写出shell脚本删除文件中的注释部分内容,获取文件中所有artifactItem的内容,并用如下格式逐行输出:1
artifactItem:groupId:artifactId:aaa
核心要点
删除注释行考虑两种情况:
1)注释的行在同一行,使用sed直接匹配再删除。
2)注释的行并不在同一行,则需要分别得到所在的行号,再使用sed 'n1,n2'd
。
获得artifactItem的内容先获得其带有artifactItem行号再获得groupId和artifactId的行号
代码内容
1 |
|