ナンバリング

テキストファイルに行番号を付ける

同等の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

TKENSAKU top へ

Copyright © 2004 TKEN