![](/img/trans.png)
[英]How to set a multicharacter record separator RS in GNU awk so it encompasses the new lines?
[英]Reprint a Dynamic RS (Record Separator) in awk
在此示例中,我使用以下 awk 命令仅打印包含特定文本字符串 (3705@192.168.1.5) 的部分/记录。 这很有效,但 awk 在打印输出时删除了记录分隔符。 对于基于通用文本的 RS,我可以使用 {print RS, $0} 重新打印它,但在这种情况下,awk 在每条记录之前打印正则表达式。
awk 'BEGIN{ RS = "([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9].[0 -9][0-9][0-9]" ;} /3705@192.168.1.5/ {print RS , $0}' /var/log/abc.log
有没有办法在每条记录之前打印 RS(在这种情况下为时间戳)? 谢谢
您一定已经在使用 gawk 因为您使用的是多字符 RS 所以只需打印RT
而不是RS
。 阅读 Arnold Robbins 所著的 Effective Awk Programming 第 4 版一书。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.