- ベストアンサー
awkのBEGINについて
awkのBIGIN内で、データファイルの途中のレコード情報を取得することは可能でしょうか? 以下が行いたい詳細です。 下記例のテキストファイルの”DATE”行をawkスクリプトファイルのBEGIN内で取得したい。 例:test.txt 11111 22222 33333 DATE=20040706 44444 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
単にBEGIN内で取りたいだけなら、getlineでどんどんまわして、matchを使って判定すれば、取れると思います。 しかし、それだけなら、何もawkじゃなくてgrepで充分でしょう。 grepで抽出した結果だけをawkスクリプトに渡してやる方が、スクリプトとして一般的かつシンプルになるし、のちのちの保守性も高まります。 結局のところ、やりたい事は何なのかが全く書かれていないので、それ以上の回答が残念ながらできません。 もしも、期待した回答でなければ、より具体的な補足をお願いします。
お礼
回答有難うございます。 この質問をする時点ではawkスクリプトを呼び出すシェルの修正が行えない前提がありました。 awkスクリプトファイル内部で何とか対応可能か試行錯誤していました。 現時点では、その制約がなくなりましたのでyou-mさんのおっしゃるとおり、grepで取得しようと 思います。 有難うございました。