2012-02-13 7 views
1

BEGINENDは、かなり単純なスクリプトで構文エラーの原因となっています。私は次のエラーを取得するBEGINとENDによってgawkで構文エラーが発生する

args=("$0") 
gawk -v var=0 '{ 
*do stuff based on input file 
*stuff gets assigned to var 
*END{ print var} 
}' ${args[0]} 

、と私は考えている理由:

スクリプトの一般的な概要は

gawk: cmd. line:x: END { ... } 
gawk: cmd. line:x: ^syntax error 

EDIT: だからアダムリスは正しかったです!中括弧に誤りがありました。私は基本的にやったことのgawkた

'{スクリプトEND {もの}}' 私はgawkのをやってきたはずです '{スクリプト} END {もの}'

おかげアダム!

+1

を私たちは見なければならないと思うあなたの「*入力ファイルに基づいたものを行う」、またはまだあなたに同じエラーを与えるトリミングダウンバージョン。 –

+0

問題を示す実際のスクリプトを投稿すると、より良い回答を得ることができます。 (あなたの実際のスクリプトである必要はありませんが、実行できるものでなければなりません) – ruakh

+1

スクリプト全体を中括弧で囲みたいとは思いません。 –

答えて

2

これはあなたのために働くかもしれない:

args=("$0") 
gawk -v var=0 '{ 
#do stuff based on input file 
#stuff gets assigned to var 
} 
END{ print var}' ${args[0]} 
関連する問題