【发布时间】:2022-01-26 08:47:27
【问题描述】:
我想在目录中的所有文件中查询console.log,然后删除与这些行之后的换行符匹配的行。也欢迎 AWK、Perl、Powershell 和 Windows 解决方案(除了 sed)。
但是,因为我在 Windows 上,所以我的代码以 CRLF 结尾,所以普通的 sed /d 不起作用。它只是将行替换为空白行。
之前:
hello.world();
console.log("Debug info");
foo.bar();
之后:
hello.world();
foo.bar();
我使用的当前命令,find pages -type f -exec sed -i -e '/console.log/d' {} \; 只用空行替换一行:
hello.world();
foo.bar();
这里有一些截图可以验证我的意思。
【问题讨论】:
-
我想我知道为什么:这是因为 CR LF。如果你知道如何解决这个问题,我会非常高兴。如果不是,请重新打开问题。
-
是的,我该如何解决我的问题。我不想立即将多团队应用转换为 LF。
-
好的,谢谢。也感谢您帮助我诊断解决方案。我很生气,对此我很抱歉。祝你新年快乐
-
以编程方式从代码中删除所有日志语句似乎是一种可疑的做法。使用选项使日志记录可控不是更好吗?