当前位置: 首页 > 知识库问答 >
问题:

使用perl one liner regex替换注释掉多行日志语句

艾心远
2023-03-14
find  -type f -iname "*java" | xargs -d'\n' -n 1 perl -i -pe 's{(log.*((info)|(debug)).*)}{//$1}gi'

共有1个答案

易雅畅
2023-03-14

只是一个大致的想法(请适应您的案例……)

...perl -i -p0e 's{(log.*?((info)|(debug)).*?;)}{ $1 =~ s!^|\n!\n//!gr }gsei'

其中:

  • .*?而不是.*以使其行为非Greddy
  • -P0e将全文作为单个记录处理
  • $1=~s!^\n!\n//!gr对内部换行进行额外处理
 类似资料:
  • 我创建了以下groovy脚本,以展示如何使用简单的注释将日志字段注入我们的类 当我运行groovy脚本时,我得到以下结果(在GROOVY CONSOLE上) 请告知我们如何将结果打印到WIN机器中的日志文件中,以及需要向groovy脚本中添加什么才能启用它? 例如: 日志文件 C: \程序文件\日志\我的。非常棒。日志 (应包含结果:)

  • 本文向大家介绍Perl中的单行注释和多行注释语法,包括了Perl中的单行注释和多行注释语法的使用技巧和注意事项,需要的朋友参考一下 同其他大多数编程语言一样,Perl中的单行注释也是#开头,例如: 但多行注释,不同的语言有不同的注释方式,比如说: Java,C/C++: Python: Ruby: Shell: Perl: 多行注释为: 说明:第一个等号必须紧跟一个字符! 比如说:

  • 我正在尝试编写一个注释处理器来插入类上的方法和字段......留档如此稀疏。我走不远,我不知道我是否正确地接近它。 处理环境提供了一个对象,它具有创建新源文件和类文件的方便方法。这些工作正常,但后来我试图弄清楚如何读取现有源文件,它提供的只是“getResources”。所以在我的处理器实现中,我这样做了: 我的第一个困惑是我不禁觉得(获取合格的类型名称并将其转换为包和源文件路径)不是解决问题的好

  • 1)当语句按此顺序时,可以: 已执行: 已记录: 有人能告诉你为什么会发生这种情况,如何修复它,或者有什么其他方法可以解决吗?

  • 我有一个Spring Rest控制器,可以满足以下要求: 我想在日志中将我的12223334455号替换为1******4455号,我已经为其制定了一个方法: 但这个请求并不是在句柄中,而是在控制器内部的某个地方。使用该方法屏蔽我的号码的最佳方法是什么?

  • 问题内容: 出于调试的原因,我想一时兴起,将某些信息 包含在HTML注释中包含 的Wicket页面的HTML输出中。 输出将类似于… …其中“ 1234”是一些有趣的动态创建的信息。 我尝试了,但无济于事: →Wicket抱怨HTML页面缺少ID为“ foo”的元素 括入→这样的部分不能包含带有 →Wicket完全不输出标签 → 并逃脱 因此,您可以轻松地使用Wicket进行此操作,还是应该忘掉它