我正在一行一行地读日志。我试图只打印行的某些列。对于bash脚本,我将使用awk和$来分隔它。但是,我不知道如何用Python实现它。我试过使用split,但它不能完全满足我的需要。你知道吗
我现在的代码:
for line in file:
if STORED_PROCS_BEGIN in line:
log.write(line)
elif STORED_PROCS_FINISHED in line:
log.write(line)
elif STORED_TASK_BEGIN in line:
log.write(line)
elif STORED_TASK_FINISHED in line:
log.write(line)
elif ACTUATE_REPORT_SCHEDULE in line:
break
所以当我试图格式化要传递到write()的行时。你知道吗
我想要的例子:
date time info junk1 junk2 name=>;日期时间信息名称
编辑:我有一个想法,我可以分割和提取我想要的字段,并将它们连接在一起。。但必须有更好的办法。你知道吗
试试这个:
我假设列之间用制表符隔开。 如果您确实不想这样做:
或者更紧凑更丑陋:
…您可以使用regex替换:
\t=制表符
\S+=一个或多个非空白字母
()=组
这将前四列分组为reference\1,最后一列分组为reference\2,并用由制表符分隔的组1和组2替换匹配表达式。你知道吗
在交互式python中运行:
您可以使用
split()
将一行拆分为单词,没错。然后,可以对输出中要包含的列进行索引:如果只想删除某些列,还可以使用
del
:相关问题 更多 >
编程相关推荐