regex - 对于多个文件中的每一行,提取包含 "XXXX ms"的行,其中 XXXX 是一个数字 > 到给定值

标签 regex linux string console grep

我有大量的日志文件,我想在所有这些日志文件中找到以下内容的每一行:“XXXX ms”,其中 XXXX 表示大于我选择的值的整数.

我如何使用 grep(或任何其他命令)来执行此操作?

我在 Windows 上使用 Cygwin(Linux 控制台模拟器)。

示例:

2013-09-03 11:33:17    11278 ms ProcessMsgDisconnectV2_01 - Disconnection request received from MU.

最佳答案

尝试这一行:

awk '$4=="ms"&&$3>100' file

这里的 100 是你的值,你可以让它变得更好,例如以这种方式从 shell 变量获取参数:

awk -v va="$value" '$4=="ms"&&$3>va' file

关于regex - 对于多个文件中的每一行,提取包含 "XXXX ms"的行,其中 XXXX 是一个数字 > 到给定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18593406/

相关文章:

python - 我想从带有字符串的列表中提取数字

linux - 调用 Perl 时避免出现 "Setting Locale Failed"消息

c++ - STL Map<string, > 与 LLVM 库冲突

c - 通过递归反转字符串中的单词

c# - 正则表达式:查找不同字符串变体中的字符串

python - 从字符串中删除除数字和小数之外的所有内容

regex - 如何在Notepad++中在同一行上查找多个单词

linux - 使用命令在 linux 终端中运行 c++ 程序

linux - echo "$myvar"| awk 'FNR ....' 不回应任何东西

C# 静态类与预定义字符串的结构