gpt4 book ai didi

python - 打印匹配行和匹配行之前的一行

转载 作者:行者123 更新时间:2023-12-03 09:48:07 26 4
gpt4 key购买 nike

期待在 Linux 主机上的文件中打印 Matching line 和之前的一行,从包含的匹配行到一行。

以下只是日志文件中的内容:

[2020/02/18 08:25:21.229198,  1] ../source3/lib/smbldap.c:1206(get_cached_ldap_connect)
Connection to LDAP server failed for the 1 try!
[2020/02/18 08:25:21.229221, 2] ../source3/passdb/pdb_ldap_util.c:287(smbldap_search_domain_info)
smbldap_search_domain_info: Problem during LDAPsearch: Timed out

我尝试过的:

我尝试使用 grepsed 以某种方式工作..

$ egrep -B 1 "failed|Timed" /var/log/samba/smbd.log.old |tr -d "\n" | sed "s/--/\n/g"


[2020/02/18 08:25:21.229198, 1] ../source3/lib/smbldap.c:1206(get_cached_ldap_connect) Connection to LDAP server failed for the 1 try!
[2020/02/18 08:25:21.229221, 2] ../source3/passdb/pdb_ldap_util.c:287(smbldap_search_domain_info) smbldap_search_domain_info: Problem during LDAPsearch: Timed out

这看起来不是一个更清洁的解决方案,我期待一些专家单行,awk、sed、grep 甚至 python 都可以接受一个行。

最佳答案

可以单独使用awk来完成:

awk ' /Timed|failed/ { print previous, $0; }; {previous = $0;}' /var/log/samba/smbd.log.old

关于python - 打印匹配行和匹配行之前的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60319917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com