我正在编写以下命令来解压缩makefile中的文本: -
@awk '/Exported Layer/,/Total Polygons/' out_compare.err | perl -lane '$el=$F[3] if(/Exported Layer/); print "$el: $f[3]" if (/Total Polygons/);' | cat
Run Code Online (Sandbox Code Playgroud)
但它给出了以下错误: -
如果"执行-e由于编译错误而中止,则无法修改-e第1行中标量赋值中的常量项".
你们想建议一下吗?:-)
Make无法在命令中引用shell,因此$Perl片段中的字符被解释为make变量$e和$F.这些变量在您的makefile中不存在,并且正在展开为空,从而导致您看到的Perl语法错误.
你需要$像这样转义make中的字符:
... perl -lane '$$el=$$F[3] if(/Exported Layer/); ...
Run Code Online (Sandbox Code Playgroud)
另请参阅GNU Make手册.
| 归档时间: |
|
| 查看次数: |
440 次 |
| 最近记录: |