c# - 在多个文件中搜索多个字符串的 Grep 工具

标签 c# java sql string grep

我意识到这个论坛上似乎有很多关于在文件中搜索多个字符串的问题,但我找不到在多个文件中搜索多个字符串的解决方案。

使用竖线分隔的搜索结果始终是 OR 语句。我想要的是提供“AND”语句的东西,无论是正则表达式还是允许多个输入的工具。

我尝试过 dnGrep、WinGrep、PowerGrep 和 BareGrep,但这些似乎都不提供此功能。对于那些使用过 grep 存储过程的人,我相信您会理解我的痛苦。

我正在尝试搜索存储过程中存在几个共享相同通用列名的表的情况,并且使用别名表名,这会变得非常麻烦,因为我不能简单地搜索 TableName.ColumnName。

如果有人能帮我解决这个问题,那就太好了。如果有人知道某个工具或者自己编写了一个工具,那就太好了。它对于搜索 java 和 c# 代码也很有用。

最佳答案

我假设您想要查找给定目录中包含模式 1、模式 2 和模式 3 的所有文件:

grep -r -l pattern1 . | xargs grep -l pattern2 | xargs grep -l pattern3

-r 选项递归检查所有文件。 -l 仅列出匹配的文件。 xargs 将前一个 grep 中的文件列表转换为下一个 grep 的输入参数。如果您有很多模式,您可以将它们放在脚本或花哨的别名中。

如果您想将搜索限制为某些文件类型,可以使用find首先限制输入文件:

find . -name "*.h" | xargs grep -l pattern1 | xargs grep -l pattern2 | xargs grep -l pattern3

关于c# - 在多个文件中搜索多个字符串的 Grep 工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11402113/

相关文章:

c# - 是否有与 Perl 的 LWP::UserAgent 等效的 C#?

java - 匹配以空格开头的所有行,直到不以空格开头的行

mysql - 如何进行 'groups' 许多 where 语句的选择查询

mysql - 如果在子行中找到匹配,则删除父行,mysql UNION

c# - excel列中的UsedRange

c# - 简单 3d 应用程序的最简单方法

java - IntelliJ IDEA 中的 Vaadin 可视化编辑器无法运行

javascript - 如何使用 sequelize 和 node 插入由多个对象组成的数组?

c# - XNA 内容管道教程

java - 同步不同对象的可见性