私は、実行時に調整されたさまざまなawkスクリプト(script1.awk、script2.awk)を使用するbashスクリプト(script.sh)を使用していました。 私は最初のbashスクリプトの中にそれらを完全に埋め込む方法を探していました。 理想的には、私はこのように見ているファイルがしたい:代わりに伝統のシェルスクリプトにawkを埋め込む
################################
# AWK scripts #
################################
read -d '' scriptVariable <<'EOF'
'
{my block commands;}
'
EOF
################################
# End of AWK Scripts #
################################
awk $scriptVariable ${inputfile} # This line obviously doesn't work
:もちろん
awk '{
my script commands
' ${intputfile}
を、私は、ファイルに書き込むことができますが、全体のポイントはしません。助言がありますか ?
EDIT:次の問題は、< <の「HERE」タグでは改行文字が読み込まれないことです。それ以外の場合はawkスクリプトを解釈しようとしています(そしてそこに)$記号があります。改行がなければ、awkスクリプト内の何かをコメントすることはできません(改行文字が削除されているときにスクリプトの半分にコメントをつけることなく...)。誰でも ?
<< 'EOF'
BEGIN{#Hello
print $1
}
EOF # Is read as BEGIN{#Hello print $1} by awk; ie BEGIN{
<< EOF
BEGIN{#Hello
print $1
}
EOF #Is read correctly by awk but Bash tried to express $1 and fails
awkで動くかどうか$ scriptVariable "$ {inputfile}" – mouviciel
スクリプト言語をPerlやPythonのようなものにアップグレードする必要があるようです。それはより簡単になり、より速く動作します。 – mvp
既に試してみましたが、ソース行1でawk:syntax errorで失敗しました。 \t >>> '<<< awk:ソース行18で救済しています –