从 linux 上的日志文件中获取某些行

2 linux

我在当前结构中有日志文件:

标准编号#668324
CSPEC
- 游客 - 
IP2LOC:不适用
时间:0900
道指:1
操作系统:Windows NT 5.1
浏览器:火狐 3.5
IP:128.64.55.129

我知道 linux 可能是命令行工具之王,那么他们的工具是“getlines”之类的工具,还是可以从文本文件中提取行的工具?我唯一需要的行是“操作系统”和“浏览器”,我想将它们全部添加到 1 个单独的 txt 文件中以进行绘图。我可以使用什么命令从这个 txt 文件中取出这两行?我的网站上有数千个这样的文件,它们是由 PHP 创建的,但由于网站现在更大,我将使用数据库,但我不希望这些文件浪费,因为这些信息仍然有用。

the*_*ive 6

这应该只从文件中返回 OS 和 Browser 行:

egrep '(OS|Browser)' filename
Run Code Online (Sandbox Code Playgroud)

如果你有很多日志文件,你可以使用 *

egrep '(OS|Browser)' /path/to/logs/*
Run Code Online (Sandbox Code Playgroud)

您可以将此输出重定向到新的日志文件中

egrep '(OS|Browser)' /path/to/logs/* > summary.log
Run Code Online (Sandbox Code Playgroud)

如果你想从每一行的开头去掉OS:Browser:,你可以使用 awk

egrep '(OS|Browser)' /path/to/logs/* | awk -F: '{print $2}' > summary.log
Run Code Online (Sandbox Code Playgroud)