ナンバリング
テキストファイルに行番号を付ける
同等のperlプログラムへ
プログラム
プログラムは以下のようなたった3行でできています。エディタを開き
以下をタイプして、適当な名前でセーブしてください。ここでは
n.awk
という名前でセーブしたことにして話を進めます。
{
printf("%d,%s\n", NR, $0 );
}
入力データ
入力データは、テキストファイルであればなんでもかまいません。
とりあえず、エディタを開き、以下のようなファイルを作成し、
dat1.txt という
名前でセーブしたこととします。
田中
佐藤
鈴木
実行結果
ここでは、awk処理系としてgawk を利用し、
また、OSはWindowsを利用していると
仮定します。
DOS prompt 上で、
c:\awk> gawk -f n.awk dat1.txt
とタイプします。
1,田中
2,佐藤
3,鈴木
と出力されるはずです。
応用
区切り文字を変える
今、行番号とデータはカンマで区切られています。これを別な文字、たとえば
コロン(:)
に変更するには、
エディタでn.awk を開き、
二行目の
printf("%d,%s\n", NR, $0 );
^
を
printf("%d:%s\n", NR, $0 );
^
に変更すればよいのです。
開始番号を変える
今、行番号は1から始まっています。これをたとえば100から始まるように
するにはどうしたらよいのでしょうか? これもきわめて簡単です。
エディタでn.awk を開き、
二行目の
printf("%d,%s\n", NR, $0 );
を
printf("%d:%s\n", NR + 100, $0 );
とすればよいのです。
メニューに戻る
TKENSAKU top へ
Copyright © 2004 TKEN