awkで、1つのファイルから複数のファイルを作りたいのですが、どのような命令を書く必要があるでしょうか。
具体的には、1行ごとに整形したものを別ファイルに保存されるようにしたいのです。BASICのように、ファイルのオープン、クローズの命令があるのでしょうか?
awkはgawk32+おーくの友達v094bで使っています。テキストの遊園地(http://homepage2.nifty.com/mozu/koza/park_of_tex …)がとてもわかりやすく書いてあるので、ここでawkを勉強しているのですが、リファレンス的なものも欲しいので、わかりやすいリファレンスになっているサイトやファイル(申しわけありませんが、日本語になっているもので)があれば、そちらの紹介もお願いいたします。

A 回答 (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

参考URL:http://www.linux.or.jp/JM/html/GNU_gawk/man1/gaw …
    • good
    • 0
この回答へのお礼

なるほど、DOSのコマンドプロンプトのようなものですね。(Unix使いではないので、こういう理解になって良いですよね?)
数十個のファイルになってもらう予定なので、きちんとcloseすることにします。
明示的にopenしなくても、自動的にopenしてくれるというのは便利ですね。自動的にclose……って一瞬考えたのですが、プログラムがそれを判断するのは無理ですね(^^;)

ともあれ、素早い対応に感謝いたします。

お礼日時:2001/07/22 17:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QVIDEO_TSにあるファイルをaviファイルに変換するフリーソフトを教えてください

現在、私有DVDをDVD-Shrink 3.2をつかい、
VIDEO_TSとAUDIO_TSのフォルダに
HDに保存しているのですが

VIDEO_TSにあるファイルをaviファイルに変換したいのですが
使いやすい、安定したフリーソフトを教えてください。


dvd2avi_ripperというもっていたフリーソフトで
ためしたのですが、相性が悪いのが
Versionが古いのか、うまく動作しません。

詳しい方、教えてください


また、DVDから直接aviファイルにするため
以前、Fire-Uyzard2.1LE
をつかっていたのですが
これは、まだ無料で使えるのでしょうか?
また、新しいVersionになったのでしょうか?

これも最近、パソコンのディスクの認識、相性?がわるいのか
DVDのディスクにしようとしても、
後にDVDに認識してくれません。

なお、ウィルス対策ソフトは入れています。

詳しい方、教えてください

Aベストアンサー

DVD→aviならばここのサイトが詳しいですよ、
いろんなソフトの紹介と使い方が載ってます。
http://head.egoism.jp/

Qダウンロードした曲にlilithとtsくのですが?

初めまして。
ネットでダウンロードした曲に(MP3、FLACなど)
lilith MP3
lilith FLAC
等がつくのですが、これはいったい何なのでしょうか?
ちょっと前にlilith サウンドプレイヤーをダウンロードして
すぐ削除したのですが、PC内にまだ残っているのでしょうか?
気になって仕方がないので、知ってる方、またはlilithを消せる方法を
知っている方ご存知でしたら教えて下さい。

宜しくお願いします。

Aベストアンサー

Lilithの設定上から関連付け作業を行ったのが原因だと思います。

しかも、Lilith上から設定を行ったのに、その設定を戻さずにLilithをいきなり削除してしまったから、その設定だけが残った状態なのではないでしょうか?

最も分かりやすい方法は、Lilithを再度インストールし『設定』→『関連付け』を開いてチェックを全て外すこと。

Lilithに限ったことではありませんが…ソフトウェア上からファイルの関連付けを行うと、単にその拡張子のファイルを開くためのアプリケーションを変更するだけでなく、『xxxファイル』とかのようにそのファイルの名目から根本的に変更されてしまうケースは結構あります。その場合、そのソフト上できちんと関連付けを解除しないでソフトだけ削除してしまうと、他のアプリケーションから全くその拡張子のファイルが開けなくなることが少なくありません。今後は注意が必要ですね。

物事にはそれなりの理由があってその結果として起こること、というのが往々にしてあります。今回のケースではLilith上から関連付けを行ったのが原因なのだと思いますから、それで予期しないことが起こったのなら逆に関連付けを外すことが起きた現象を直すことになるのは当然です。

Lilithの設定上から関連付け作業を行ったのが原因だと思います。

しかも、Lilith上から設定を行ったのに、その設定を戻さずにLilithをいきなり削除してしまったから、その設定だけが残った状態なのではないでしょうか?

最も分かりやすい方法は、Lilithを再度インストールし『設定』→『関連付け』を開いてチェックを全て外すこと。

Lilithに限ったことではありませんが…ソフトウェア上からファイルの関連付けを行うと、単にその拡張子のファイルを開くためのアプリケーションを変更するだけでなく、『xxx...続きを読む

Q【Windows Media オーディオ/ビデオ ファイル】を【ムービー ファイル (mpeg)】に変換

【Windows Media オーディオ/ビデオ ファイル】を【ムービー ファイル (mpeg)】に変換したいのですがやり方が分かりません。 どなたか教えてください。お願いします。

Aベストアンサー

PC環境などが不明なのでピンポイントでのアドバイスではありませんが、
通常のWMV(DRMなどでプロテクトされていない)ならビデオ編集ソフトやエンコードソフトでmpegエンコードできるはずです、
お使いのPCにどのようなソフトがあるか確認してみて、
ビデオ編集やエンコードソフトでmpeg化して下さい。

バンドルソフトや自分で購入したソフトが無ければ、
TMPGEnc2.5フリー版でmpeg1エンコードはできますし、
期間限定でmpeg2も作れます。

http://www.tmpgenc.net/j_main.html

QEaseUS_Disk_Copy を動作させるには

ディスクコピーソフトの cbsidlm-tr1_5-EaseUS_Disk_Copy_Home_Edition-10867157.exe (574MB)をダウンロードして実行したのですが、Disk_Copy.iso というファイルができただけで、これをダブルクリックしても実行しません。
どうしたら動作できるでしょうか?よろしくお願いします。

Aベストアンサー

「EaseUS Disk Copy」はブータブルメディアを作成してWindowsを実行していない状態で使用します。

先ずはブータブルメディアを何にするか決めて下さい。
USBフラッシュメモリ(最低512M程度の容量があれば大丈夫だと思います)、CD-R、DVD-Rが選べます。
決まったら、USBフラッシュメモリはUSBポートに際し込む、CD-R、DVD-Rは光学ドライブに空メディアを入れて下さい。

ダウンロードしたexeを実行します。

USB、CD/DVD、Export ISOを選択する画面が出ると思うので、用意したメディアの種類に合ったものを選択します。
※Export ISOはISOファイルを出力するだけ、USB、CD/DVDはメディアにISOを書き出してくれます

最後に右下の「Proceed」をクリックして実行。
後はISOファイルの書き出しが終わるのを待って、そのメディアでPCをブートさせます。
PCのブート順の設定によってはHDから自動的にブートされる場合があるので、起動時にブートメニューを表示させてブートさせたいメディアを選択して下さい。
ブートメニューはPCの起動時に画面にファンクションキー(Fn(nは1~12))を押すようにガイドが表示されるので表示に従って押してみて下さい。

HDのコピーツールは使い方を間違うとHDの中身を消したり、破壊する可能性があるので注意が必要です。
特にコピー元とコピー先が同容量の場合、元と先を逆に指定して内容を消してしまうという事も。

「EaseUS Disk Copy」はブータブルメディアを作成してWindowsを実行していない状態で使用します。

先ずはブータブルメディアを何にするか決めて下さい。
USBフラッシュメモリ(最低512M程度の容量があれば大丈夫だと思います)、CD-R、DVD-Rが選べます。
決まったら、USBフラッシュメモリはUSBポートに際し込む、CD-R、DVD-Rは光学ドライブに空メディアを入れて下さい。

ダウンロードしたexeを実行します。

USB、CD/DVD、Export ISOを選択する画面が出ると思うので、用意したメディアの種類に合ったものを選択...続きを読む

QVIDEO_TSとAUDIO_TS、PCで見る為には?

ビデオ画像を編集し、VIDEO_TSとAUDIO_TSというフォルダが作成されました。このままDVDに焼けばいいと聞きましたが、これはPCで見ることは出来ないのでしょうか。
見ることが出来るフリーソフトがあれば是非紹介してくださいませんでしょうか。

Aベストアンサー

ウィンドウズに付属のメディアプレイヤーで見れます。


人気Q&Aランキング

おすすめ情報