我有一个包含警告的日志文件,如下所示
警告(代码1292):截断的日期值不正确:'2014-06-10 00:00:00'警告(代码1264):第1行的列'accepted_date'超出范围值警告(代码1292):截断的日期值不正确:'2014-06-10 00:00:00'警告(代码1264):第2行的'accepted_date'列超出范围值警告(代码1292):截断的日期值不正确:'2014-06 -10 00:00:00'
我想将此日志文件打印为
警告(代码1292):截断的日期值不正确:'2014-06-10 00:00:00'
警告(代码1264):第1行的列'accepted_date'超出范围值
警告(代码1292):截断的日期值不正确:'2014-06-10 00:00:00'
警告(代码1264):第2行的列'accepted_date'超出范围值
警告(代码1292):截断的日期值不正确:'2014-06-10 00:00:00'
我使用 cat load_bls_data.log | sed's / \ Warning / \ n / g',但我的输出为
(代码1292):截断错误的日期值:'2014-06-10 00:00:00'
(代码1264):第1行的列'accepted_date'超出范围值
(代码1292):截断的日期值不正确:'2014-06-10 00:00:00'
(代码1264):第2行的列'accepted_date'超出范围值
(代码1292):截断的日期值不正确:'2014-06-10 00:00:00'
答案 0 :(得分:0)
怎么样: cat load_bls_data.log | sed's / Warning / \ nWarning / g'?
这是我的结果:
Warning (Code 1292): Truncated incorrect date value: '2014-06-10 00:00:00'
Warning (Code 1264): Out of range value for column 'accepted_date' at row 1
Warning (Code 1292): Truncated incorrect date value: '2014-06-10 00:00:00'
Warning (Code 1264): Out of range value for column 'accepted_date' at row 2
Warning (Code 1292): Truncated incorrect date value: '2014-06-10 00:00:00'
答案 1 :(得分:0)
使用gnu awk你可以这样做:
awk -v RS=' Warning ' -v ORS='\nWarning ' '1' file
Warning (Code 1292): Truncated incorrect date value: '2014-06-10 00:00:00'
Warning (Code 1264): Out of range value for column 'accepted_date' at row 1
Warning (Code 1292): Truncated incorrect date value: '2014-06-10 00:00:00'
Warning (Code 1264): Out of range value for column 'accepted_date' at row 2
Warning (Code 1292): Truncated incorrect date value: '2014-06-10 00:00:00'