sed
对我来说至少是陌生的。我想遍历 C 项目树并注释掉调用该函数的每一行LogMsg()
。实现以下目标:
foreach: line within *.c
if: line contains "LogMsg"
prepend "//"
大概如此。此外,我想看看我是否能实现相反的效果,尽管我认为这可能更困难。
我觉得sed
这是适合这项工作的工具,但我不是批量文本文件编辑方面的专家。有什么帮助吗?
答案1
使用的命令是:
sed '/LogMsg/ s?^?//?' filename new_filename
它定位文件中的行文件名,包含日志信息,并在行首替换(^),即双斜线。问号用作分隔符,而不是更常见的斜线,以防止与要替换的文本混淆。输出将重定向到文件的新版本,而不是标准输出。