#ifndef
ファイルを解析し、各行をandでラップしたいです#endif
。
たとえば、次のように起動します。
#define X 1
#define Y 2
#define Z 3
私は以下を生成したいと思います:
#ifndef X
#define X 1
#endif
#ifndef Y
#define Y 2
#endif
#ifndef Z
#define Z 3
#end if
スクリプトawk
はコンソールでは機能しますが、内部では機能しませんmake
。
awk '{printf "#ifndef %s\n%s %s %s\n#endif\n", $2, $1, $2, $3}' globals.tmp > globals.h
内部で実行すると、make
出力は次のようになります。
awk: cmd. line:1: {printf "#ifndef %s\n%s %s %s\n#endif\n", , , , }
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: {printf "#ifndef %s\n%s %s %s\n#endif\n", , , , }
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: {printf "#ifndef %s\n%s %s %s\n#endif\n", , , , }
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: {printf "#ifndef %s\n%s %s %s\n#endif\n", , , , }
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: {printf "#ifndef %s\n%s %s %s\n#endif\n", , , , }
awk: cmd. line:1: ^ unexpected newline or end of string
だから明らかに現場を引っ張らない。シングル、ダブル、トリプルバックスラッシュを追加し、引用符を変更するなどのために、および:を$1
使用してみましたが、何も機能しません。私も知っていて、私が理解していない「問題」があるかどうか疑問に思うかもしれません。$2
$3
awk
make