grep 多个有空格的单词

grep 多个有空格的单词

我有包含日期​​和用户名的日志文件,如下所示

Nov 05 14:36:03.752146 server.com  [2020-11-05T14:36:03.752Z] [C 7f7e597fa700] R=6ssssdsdsd 91,CN= user1 drop: UP 10.11.100.100 TO 10.20.20.139 ICMP 8:0:1:23249 SIZE 60 

如何在命令行中 grep date which Nov 05 和 user1

谢谢

答案1

也许这会帮助您获取详细信息:在网站上运行以下命令:https://rextester.com/l/bash_online_compiler

#!/bin/bash

str='Nov 05 14:36:03.752146 server.com [2020-11-05T14:36:03.752Z] [C 7f7e597fa700] R=6ssssdsdsd 91,CN= user1 drop: UP 10.11.100.100 TO 10.20.20.139 ICMP 8:0:1:23249 SIZE 60'
dt=`echo "$str" | cut -f1 -d":"| awk '{print $1 " " $2}'`
echo "Date : $dt"

Usr=`echo "$str" | cut -d',' -f2 | cut -d':' -f1 | awk '{print $1 " " $2}'`
echo $Usr
 

输出 :

Date : Nov 05
CN= user1

答案2

感谢您的回复

我尝试了这个,它给了我想要的结果grep 十一月 05 | grep -i 用户1

这可能听起来很难看,但确实有效

相关内容