gawk 意外括号错误

Error on unexpected bracket in gawk

我正在尝试创建一个类似 DiffMerge 的应用程序,它将更友好地显示 Rhapsody 图之间的差异。

我做了一些研究,发现有人做了一个 .sbs.xml 的文件转换器[1],然后可以很容易地解析它。

现在,当我尝试使用 make all 编译文件时出现此错误:

flex lexer.l
gawk "/#define YY_BUF_SIZE/{gsub(/16384/, "(1024*1024)")};{print}" lex.yy.c > lex.yy.c.new
/bin/sh: 1: Syntax error: "(" unexpected
make: *** [flex] Error 2

你能帮我解决这个问题吗?

我使用的文件在下面Gitlink

注意:我在 Makefile 中用 SHELL=... 注释了行,因为我在 Linux.

中工作

[1] https://github.com/PrzemekWirkus/sbs2xml-conv

只需将脚本周围的 " 更改为 '(它们 总是 应该是):

gawk '/#define YY_BUF_SIZE/{gsub(/16384/, "(1024*1024)")};{print}' lex.yy.c > lex.yy.c.new