Bash Shell脚本,用于在不同的目录中循环并搜索特定的html标记

Bash Shell脚本,用于在不同的目录中循环并搜索特定的html标记,bash,shell,Bash,Shell,目录结构如下所示: services (directory) | | serviceui (directory) serviceui1 (directory) | | service1 (di

目录结构如下所示:

                  services (directory)
         |                                           |            
 serviceui (directory)                     serviceui1 (directory)
         |                                           |
 service1 (directory)                      service2 (directory)
         |                                           |
 frontend                                  frontend
         |                                           |
           Have different files and each file has 
           a html tag with different tags.
           For example, a sample file may contain
             <Id>CheckUser</Id>
             <Id1> bbb </Id1>
             <Id2> drer </Id2>
我正在尝试编写一个bashshell脚本,该脚本循环遍历前端目录中的所有目录和不同文件,以查找serviceidhtml标记,并找出有多少serviceIds具有content CheckUser 在里面

这是我第一次使用bash脚本。这方面的任何进展都会非常有帮助


提前谢谢

grep-r-c'CheckUser'*怎么样?

您可以递归使用grep:

grep -Fsrc '<Id>CheckUser</Id>' "services (directory)" |awk -F: '$NF > 0'

如果这是一个问题,那么您确实需要理解XML结构的代码。否则,您将需要一些相当难看的技巧,例如折叠所有空白并将文件解析为单行字符串。

这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-实际上,这是一个答案。你试试这个怎么样?也许我的措辞很糟糕,但你认为有什么理由它不起作用吗?添加一些解释可以真正提高你的文章的质量。请记住,您将在将来为读者回答这个问题,而这些人可能不知道您的代码建议的原因。我和其他人一样喜欢使用正则表达式,但在我看来,在这种情况下不需要正确解析HTML。这个答案可能不是万无一失的,但应该是可行的。