gawk中意外的括号错误

时间:2018-07-06 09:01:50

标签: awk makefile flex-lexer

我正在尝试创建一个类似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

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

我使用的文件位于下面的Git链接上。

注意:因为我在Linux上工作,所以我用Makefile中的SHELL=...注释了这一行。

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

1 个答案:

答案 0 :(得分:0)

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

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