close = 開いたファイル(やパイプ)を閉じる - AWK
○Gawk on Windows ○Gawk ○mawk32 △(パイプ不可)Mawk ○awk
AWKプログラム内で開いたファイル(やパイプ)を閉じます。o 同じファイルやパイプを、別の目的に再利用したい時に、便利です。
**** 書式
--------
close( 開いているファイル名 )
--------
o UNIX版 Gawkの場合は、次の書式もサポートしています。
close( 開いているファイル名 [, 閉じる方向])
o 開いているファイル名 -- 入出力時に指定したファイル名やコマンド名、インターネット接続文字列です。
o 閉じる方向 -- UNIX版 Gawkの拡張です。
+ Windows版 Gawkの場合、指定する事は出来ますが、普通のclose扱いになります。
+ UNIX版 Gawkでは、コマンドへの入出力を同時に行っている時に、片方だけ閉じる事が出来ます。
+ 「閉じる方向」は、文字列で指定します。
+ "to" = AWKプログラムからの出力だけを閉じます。print系の方向です。
+ "from" = AWKプログラムへの入力だけを閉じます。getlineの方向です。
o 戻り値 -- 閉じるのに成功したら 0 / 失敗したら -1
**** 使用例
--------
BEGIN {
V = " sort ";
printf("4.ルカ様\n") | V;
printf("3.レン君\n") | V;
printf("2.リンちゃん\n") | V;
printf("1.ミクさん\n") | V;
close(V); # パイプを閉じます。sortコマンドが実行されて「1.ミクさん」から順に並びます。
printf("3.MEIKOさん\n") | V;
printf("2.KAITOさん\n") | V;
printf("1.ミクさん\n") | V;
close(V); # パイプを閉じます。今度の並び順は、1.ミクさん、2.KAITOさん、3.MEIKOさん。
## print "close = " close(V); # 閉じたファイルやパイプをcloseすると、-1を返します。
}
--------
o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。
**** 機能
o AWKプログラム内で開いたファイル(やパイプ)を閉じます。
+ 同じコマンドを再利用したい時に使います。
** 処理系に依存する動作
o Mawk for Windows 1.3.3では、print / printfが、パイプをサポートしていません。
**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3
o Mawk for Windows 1.3.3 -- パイプは非サポート
o original = the one true awk(updated May 1, 2007)
==
関連ページ:
▼AWKの入出力関数とコマンド実行機能(▼ABC順)
▼AWKプログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> fflush = 出力バッファーを空にする
system = OSのコマンドを実行して、終了コードを返す
$0 = 最後に読み込んだデータ、1行分
+
getline = ファイル(やパイプ)から1行読み込む
print = ファイルなどに書き出す
printf = 文字列を組み立ててファイルなどに書き出す
(2010年10月7日追加。Gawkのインターネットアクセス)