问题标签 [grep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
298868 浏览

windows - Windows 递归 grep 命令行

我需要在 Windows 中执行递归 grep,在 Unix/Linux 中是这样的:

或更首选的方法:

我只使用 cmd.exe,所以我只有 Windows 内置命令。不幸的是,我无法在此服务器上安装Cygwin或UnxUtils等任何 3rd 方工具。我什至不确定我是否可以安装 PowerShell。仅使用 cmd.exe 内置程序(Windows 2003 Server)有什么建议吗?

0 投票
5 回答
10041 浏览

grep - 虽然 grep 多个文件,我如何在第一次匹配后停止?

我有一个文本文件中的模式列表,为此我使用 bzgrep 匹配多个文件:

如何使 bzgrep (grep) 在当前模式的第一次匹配之后停止(我需要它完全停止,而不是在当前正在被 grep 的文件上停止)并继续下一个模式。我已经阅读了“-m 1”参数,但我认为它只在当前文件上停止。有任何想法吗?

谢谢

0 投票
3 回答
470 浏览

shell - 如何检查文件中的制表符?

我想检查一些文件中是否存在制表符(ASCII 0x09)。(在将它们提交到存储库之前断言我的源是无标签的。)

最好使用标准工具。当然,grep 浮现在脑海中,但显然grep "\t" file.txt不匹配......?!?

我知道答案可能非常简单,但我不知所措。

0 投票
3 回答
381 浏览

regex - 我怎样才能 grep 具有两个表达式的文件?

我想显示包含多个表达式的文件并排除不​​包含所有表达式的文件。

有任何想法吗?

谢谢!

0 投票
3 回答
2000 浏览

grep - grep 命令替换 Fedora 上 httpd.conf 文件中的多行文本

我是 shell 脚本和 Linux 环境的新手。

在我的项目中,我试图从 httpd.conf 文件中搜索以下文本

然后删除此文本并再次重写相同的文本。进行此重写的原因是该脚本将在第一次安装 Web 应用程序时运行,但它可能会在一段时间后再次运行,因为该 shell 脚本的其他部分也在执行其他任务。因此,第一次找不到该文本,只会被写入,但稍后在运行脚本时会再次找到该文本,需要将其删除并再次写入。

因此,我试图实现这一目标的脚本部分类似于:

我目前没有代码在我面前,所以上面可能有一些语法错误,但逻辑/编码是相同的。

由于 grep 命令不支持多行搜索,因此上面的代码片段无法完成我想要实现的目标。

我的操作系统是 Fedora 8。

您能否在此代码中提出一些建议以实现所需的功能,或者可能是其他替代方案。

在这方面的任何帮助将不胜感激。

提前致谢。


感谢您的回复。

抱歉之前的错误代码。现在更正了。

Charlie 和 i-moan,由于可操作性限制,我将无法实现 sed 或 perl,因为它需要添加到我们将分发此项目的环境中。

史蒂夫,我想检查多行。我没有把它放在代码块中,所以它删除了目录标签。:(

所以我需要另寻出路。

再次感谢。

此致。

0 投票
2 回答
907 浏览

linux - 从 grep -l 得到一个很长的列表——有可能吗?

我正在执行这个 grep: grep -l "Validation failed" *.dbg

这将返回一个文件列表。但是,我最感兴趣的是这些文件的修改时间。

正确的命令是什么?

编辑:标题中的论点是错误的。

0 投票
6 回答
319 浏览

python - 在文件中突出但不完全重复的行

我正在梳理一个 webapp 的日志文件,以获得突出的语句。

大多数线条相似且无趣。我会通过 Unix 传递它们uniq,但是不会过滤任何内容,因为所有行都略有不同:它们都有不同的时间戳,类似的语句可能会打印不同的用户 ID,等等。

有什么方法和/或工具来获得与其他明显不同的线条?(但是,再次,不是精确的重复)

我正在考虑使用 Python 的difflib,但这似乎是为了区分两个文件,而不是同一文件中的所有行对。

[编辑]

我假设该解决方案将为每一行给出一个唯一性分数。因此,我的意思是“显着不同”,我选择了一个阈值,该阈值必须超过唯一性得分才能使任何行包含在输出中。

在此基础上,如果还有其他可行的定义方式,欢迎讨论。此外,该方法不必具有 100% 的准确率和召回率。

[/编辑]

例子:

我更喜欢尽可能通用的答案。我知道我可以在开始时去掉时间戳。剥离结尾更具挑战性,因为它的语言可能与文件中的任何其他内容完全不同。这些细节是我之前回避具体例子的原因,但因为有人问......

类似1:

类似2:

不同1:

在不同的 1 情况下,我希望返回两条线,但不希望返回类似它们的其他线。换句话说,这两条线是不同的类型(然后我可以稍后只要求统计上罕见的线类型)。一方面,这两者之间的编辑距离要大得多。

0 投票
3 回答
387 浏览

regex - 正则表达式匹配两个数字,但没有别的

获取文件的以下内容:

什么模式可以同时匹配 52245 和 52246 但不匹配?

0 投票
5 回答
682 浏览

grep - 基本的 grep

我有一个大文件,其中每一行都包含一个子字符串,例如 ABC123。如果我执行

或者

我按预期恢复了这些行,但是如果我执行

grep 找不到相应的行。

这似乎是非常微不足道的功能,但我不是 grep 的重度用户,所以也许我错过了一些问题。

0 投票
8 回答
85966 浏览

regex - 当我在 PowerShell 中选择字符串(grep)时,如何只返回匹配的正则表达式?

我正在尝试在文件中查找模式。当我使用Select-String我不想要整行得到匹配时,我只想要匹配的部分。

有没有我可以用来执行此操作的参数?

例如:

如果我这样做了

该文件包含一行:

我想得到一个只有1-2-3的结果,而不是返回整行。

我想知道 Powershell 相当于grep -o