【发布时间】:2021-01-10 15:59:17
【问题描述】:
egrep AND 条件无法使用以下命令处理日志文件:
我的命令是:
egrep -E "20-Sep-20|^[ ]*|^[ ]*21-Sep-20.*6f0747e47829.*oMXskCaN0RWrdfT" file.log
结果:
20 年 9 月 21 日 14:30:40.223 调试 6f0747e47829 QzAJ7ru4ayOWqRm oMXskCaN0RWrdfT 准备 - ************** 结束 ***************
20 年 9 月 21 日 14:30:40.223 信息 6f0747e47829 QzAJ7ru4ayOWqRm
oMXskCaN0RWrdfT 准备 - 数据准备步骤
已结束**** 20 年 9 月 21 日 14:30:40.273 信息 6f0747e47829 QzAJ7ru4ayOWqRm oMXskCaN0RWrdfT prep - 依赖步骤已完成 使用 step_id = 9l2CDtSl2ZmTOUk 21-Sep-20 14:30:40.439 信息删除
6f0747e47829 QzAJ7ru4ayOWqRm oMXskCaN0RWrdfT 准备 - 分步运行 完成:成功=真 20 年 9 月 22 日 14:30:40.500 信息 6f0747e47829 QzAJ7ru4ayOWqRm oMXskCaN0RWrdfT prep - 依赖步骤已完成 使用 step_id = 9l2CDtSl2ZmTOUk 22-Sep-20 14:30:40.560 信息删除
6f0747e47829 QzAJ7ru4ayOWqRm oMXskCaN0RWrdfT 准备 - 分步运行 完成:成功=真 20 年 9 月 22 日 14:30:40.600 错误 6f0747e47829 QzAJ7ru4ayOWqRm oMXskCaN0RWrdfT- Traceback(最近一次通话最后):
文件 “/usr/local/lib/python3.7/site-packages/wiz_task/tasks/modeling/py_module.py”, 第 55 行,在 run_py_module 中 (成功,报告)= instance.execute(project_id,process_id,module_name,step_name,run_params,**kwargs)文件 "/code/test_module/domkar/py_code/python-attributor/attributor/module.py", 第 62 行,在执行中 model2_out.main() 文件“/code/test_module/domkar/py_code/python-attributor/attributor/model/model2.py”, 第 883 行,主要 model_constr,FixedCoeffTable,planner,Output_data=self.model () 文件 "/code/test_module/domkar/py_code/python-attributor/attributor/model/model2.py", 第 503 行,模型中 model_constr_res = model_constr_worker.runSingleModel (cmodel_trfm_data_ref, model_constr, False) 文件 "/code/test_module/domkar/py_code/python-attributor/attributor/lib/algo/model_worker.py", 第 1283 行,在 runSingleModel model_result = self.runMixedModel(数据,模型,light_mode)文件“/code/test_module/domkar/py_code/python-attributor/attributor/lib/algo/model_worker.py”, 第 625 行,在 runMixedModel 返回self.runLinearModel(数据,模型,light_mode)文件“/code/test_module/domkar/py_code/python-attributor/attributor/lib/algo/model_worker.py”, 第 597 行,在 runLinearModel result.setRetention (DataUtility.retention (data, dep_var, date_var, fixed_vars, model.getHierarchyVars ()) ) 文件 "/code/test_module/domkar/py_code/python-attributor/attributor/lib/data/data_utility.py", 第 396 行,保留 aaaaaaaaaaaaaaaaaaaa NameError: name 'aaaaaaaaaaaaaaaaaaaa' is not defined 23-Sep-20 14:30:40.439 INFO 6f0747e47829 QzAJ7ru4ayOWqRm oMXskCaN0RWrdfT prep - 步骤运行已完成:success=True
预期结果:
当给定一个无效的字符串(模式)AND条件失败并仍然返回结果但我需要空结果。因为给定的模式与文件不匹配。
【问题讨论】:
-
噗,请花时间重新格式化您的帖子。请用前导 4 个空格发布输入和输出以及命令 - 前导 4 个空格使其显示为在代码块中,格式正确。
-
要通过缩进将输入和输出格式化为代码,您可以选择要格式化的代码并使用编辑器字段的
{}工具。或者,您可以将~~~单独放在代码块之前和之后的一行中。这样你就不需要缩进了。我以您的命令行为例。 -
您能准确解释您要匹配的内容吗?实际上,由于第二个 OR'ed 子模式,您的模式将匹配所有内容(
^[ ]*匹配行首的任意数量的非空格字符,包括零) -
请检查并修复问题中显示的输出。在其他人进行编辑后,换行符似乎不正确。复制粘贴并重新格式化可能会更容易。
-
@Pikrass 我正在尝试获取两个日期之间的所有行,并在两个模式上使用 AND 条件。我不确定我在做什么错。如果我不使用日期过滤器,我最终会丢失其间的多行。所以,我希望这些日期过滤器之间的所有行都带有匹配模式的 AND 条件。