たとえば、値を置き換えることにより、「実行時」に調整されたさまざまなawkスクリプト(script1.awk、script2.awk)を使用するbashスクリプト(script.sh)を使用しています。最初の bash スクリプト内にそれらを完全に埋め込む方法を探していました。理想的には、次のようなファイルが必要です。
################################
# 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}
もちろん、それらをファイルに書き込むこともできますが、要点はそうではありません。助言がありますか ?
編集: ドッグベインの回答は正常に機能しますが、次の問題は、<<'HERE' タグを使用すると、改行文字が読み取られないことです。内に(そしてあります)。また、改行がないため、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