regex - 如何获取包含特定短语的 XML 文件的数量?

标签 regex xml linux grep

我有一个包含 XML 文件的目录,其中包含有关卡通的信息。例如,卡通可以是简单的“卡通”或“卡通素描”等。

当我应用以下命令时,我会获取包含短语“Cartoon Sketch”的所有 XML 文件:

grep -R --files-with-matches --include="*.xml" "Cartoon Sketch" /path/to/dir | nl

但是当我更改上面的命令以获取包含单词“Cartoon”的所有 XML 文件时,如下所示:

grep -R --files-with-matches --include="*.xml" "Cartoon" /path/to/dir | nl

然后我还得到包含短语“Cartoon Sketch”的所有文件。

如何将结果限制为仅包含“卡通”但不包含“卡通素描”的文件?

最佳答案

添加另一个 grep -v 以排除与“Sketch”匹配的行

grep -R --files-with-matches --include="*.xml""卡通"/path/to/dir | grep -v“草图”| wc -l <​​

关于regex - 如何获取包含特定短语的 XML 文件的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37853653/

相关文章:

linux - 如何在 ubuntu 上以编程方式共享 ssh key ?

linux - 狂欢 : wrong pipe output when using "sudo sh -c"

python - 环视和非捕获组之间的功能区别?

javascript - JavaScript 中的 VAL() 函数

c++ - C++11 中的正则表达式与 PHP

java - 删除 XML 组件而不是隐藏?

java - 如何设置以编程方式创建的按钮的属性?

正则表达式在表达式中查找组

C#- XML 文档在其他项目中不可用

linux - 更改不匹配模式的行的大小写