【发布时间】:2022-11-13 09:43:09
【问题描述】:
我在filesToCheck 文件夹中有很多文件,下面给出了一些示例。我需要输出result.txt,如下所示。我可以将 linux bash 与任何不需要额外安装的命令一起使用。
下面的试用(在 stackoverflow 的帮助下)在我执行时有两个问题。尽管有全局标志g,但它只查找CAKE_FROSTING 的一个实例,尽管> result.txt,文件result.txt 仍然为空。
sed -Enz 's/.*CAKE_FROSTING\(\n?"([^"]*).*/\1\n/gp' filesToCheck/* > result.txt
我需要改变什么?
文件1.cpp
something
CAKE_FROSTING("is.simply.the.best", "[no][matter][what]") { DO(something(0) == 1); }
文件2.h
something else
CAKE_FROSTING(
"is.kinda.neat",
"[i][agree]") something else
something more
文件 3.cpp
random_text CAKE_FROSTING("Can be nice") "more random text"
CAKE_CREAM("totally.sucks", "[trust][me]")
random_text CAKE_FROSTING("Can be very nice") "indeed"
期望结果.txt
is.simply.the.best
is.kinda.neat
Can be nice
Can be very nice
currentResult 命令行输出:
is.simply.the.best
is.kinda.neat
Can be nice
【问题讨论】: