Ошибка на неожиданной скобке в gawk - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь создать приложение, похожее на 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 ниже.

Примечание: я прокомментировал строку с SHELL=... из Makefile, потому что я работаю в Linux.

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

1 Ответ

0 голосов
/ 06 июля 2018

Просто измените " s вокруг скрипта на ' s (которые в любом случае всегда должны быть):

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