- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:awkでの複数のファイルへの出力)
awkで複数のファイルへの出力方法とリファレンスサイトの紹介
このQ&Aのポイント
- awkを使用して、1つのファイルから複数のファイルを作成する方法について教えてください
- 具体的には、1行ごとに整形したものを別ファイルに保存するための命令を知りたいです
- また、awkのリファレンスとなるわかりやすいサイトやファイルがあれば、お教えいただけますか
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> awkで、1つのファイルから複数のファイルを作りたいのですが、どのような命令を書く必要があるでしょうか シェルのリダイレクトのように書けます。 print $0 >file 例えば、入力を、それぞれの行毎に "行番号.txt" に出力するような スクリプトは、 { fn = NR ".txt"; print $0 >fn; close(fn); } という感じです。キーポイントは「開いたファイルを close する必要がある こと」です。 ある程度の数であれば、クローズする必要はないんですけど、同時に開いて おけるファイルの数が、awk の実装毎に決まっているはずなので、対象の ファイルが多いのであれば、きちんと close しなくてはいけません。 > リファレンス的なものも欲しい とりあえずは、man でしょう。Windows で使ってるんでしょうか? であれば、参考URLで、gawk のマニュアルが読めます。 perl に押されて、awk の実用的なページって意外と見つからないのですが こちらのページも参考になるかと。 http://aoki2.si.gunma-u.ac.jp/Hanasi/Algo/ http://aoki2.si.gunma-u.ac.jp/Hanasi/Algo/awk.html
お礼
なるほど、DOSのコマンドプロンプトのようなものですね。(Unix使いではないので、こういう理解になって良いですよね?) 数十個のファイルになってもらう予定なので、きちんとcloseすることにします。 明示的にopenしなくても、自動的にopenしてくれるというのは便利ですね。自動的にclose……って一瞬考えたのですが、プログラムがそれを判断するのは無理ですね(^^;) ともあれ、素早い対応に感謝いたします。