我想我的运气grep
和sed
,但不知何故,我不设法得到它的权利。
我有一个大约 8 GB 的日志文件。我需要分析 15 分钟的可疑活动时间段。我找到了我需要查看的日志文件部分,我正在尝试提取这些行并将其保存到一个单独的文件中。我如何在普通的 CentOS 机器上做到这一点?
我的最后一次尝试是这样,但没有奏效。当涉及到sed
这些类型的命令时,我不知所措。
sed -n '2762818,2853648w /var/log/output.txt' /var/log/logfile
Run Code Online (Sandbox Code Playgroud) 我有一个巨大的日志文件,想要 grep 模式的第一次出现,然后在出现这种情况后立即找到另一个模式。
例如:
123
XXY
214
ABC
182
558
ABC
856
ABC
Run Code Online (Sandbox Code Playgroud)
在我的例子中,我想找到182
然后找到下一次出现ABC
第一次出现很简单:
grep -n -m1 "182" /var/log/file
Run Code Online (Sandbox Code Playgroud)
这输出:
5:182
Run Code Online (Sandbox Code Playgroud)
如何找到下一次出现的 ABC?
我的想法是告诉grep
跳过第一n
行(在上面的例子中n=5
),基于 182 的行号。但是我该怎么做呢?
我有一个类似于以下内容的文件:
abcdef
123
ghiflk
234
sfhskdhf
483
Run Code Online (Sandbox Code Playgroud)
我想搜索一个字符串,输出还应包括下一行(和/或上一行)。
例如:
grep "bcd" myfile
Output:
abcdef
123
Run Code Online (Sandbox Code Playgroud)
或显示上一行:
grep "ifl" myfile
Output:
123
ghiflk
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几天在网上找到解决方案,但似乎无法弄清楚。