以下に、出力リダイレクションの形式を3つ示します。すべてprint文で示されていますが、printf文でも同様に動作します。
print items > output-file
awkプログラムでBBS名の一覧をファイル`name-list'に書き込み、電話番号の一覧をファイル`phone-list'に書き込む方法を示しています。どちらの出力ファイルも、1行にBBS名が1つ、または電話番号が1つ書き込まれます。
awk '{ print $2 > "phone-list"
print $1 > "name-list" }' BBS-list
print items >> output-file
awkの出力はそのファイルにアペンドされることです。
print items | command
awkの式です。その値は、実行されるシェルコマンドを与える文字列に変換されます。
たとえば、次の例は、2つのファイルを出力します。1つはソートされていないBBS名のリスト、もう1つは逆アルファベット順にソートされたBBS名のリストです。
awk '{ print $1 > "names.unsorted"
print $1 | "sort -r > names.sorted" }' BBS-list
ソートされないリストは通常のリダイレクションで書き込まれますが、ソートされるリストはsortユーティリティにパイプされて書き込まれます。
次に、リダイレクションを使ってメッセージをメールリスト`bug-system'にメールする例を示します。これは、システムのメインテナンスのために定期的に実行されているawkスクリプトで、トラブルが発生した場合に便利です。
print "Awk script failed:", $0 | "mail bug-system"
print "at record number", FNR, "of", FILENAME | "mail bug-system"
close("mail bug-system")
ここではclose関数を呼び出していますが、これは必要な出力がパイプにすべて送られたあと、すぐにパイプをクローズしたほうが良いからです。詳細については、See section 出力ファイルとパイプのクローズ。`>'、`>>'、`|'で出力をリダイレクトすると、指定した特定のfileやcommandに、プログラムによる書き込みが行われていない場合のみ、システムに対してファイルやパイプのオープン要求が出されます。