MST

星途 面试题库

面试题:Bash正则表达式实现复杂文本筛选

给定一个Bash脚本,脚本读取一个日志文件`log.log`,日志内容每行格式为:时间戳 用户名 操作 操作结果(例如:2023 - 10 - 01 12:00:00 user1 create success)。要求使用正则表达式筛选出所有用户名为`user1`且操作结果为`failure`的日志行,并输出到`filtered.log`文件,同时计算筛选出的行数并输出到终端,编写该Bash脚本。
27.2万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
#!/bin/bash

grep -E '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} user1 [^ ]+ failure' log.log > filtered.log
count=$(wc -l < filtered.log)
echo "筛选出的行数: $count"