スポンサーリンク

BEGINブロックとENDブロックで先頭行と最終行に行を追加する

※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-

BEGINブロックで先頭行に行を追加します。
参考:awkで変数の初期化はBEGINブロック内が基本

ENDブロックで最終行に行を追加します。
参考:awkのENDブロックをうまく使おう

例として、先頭行に"head , 2"を追加、最終行に"tail,4"を追加します。

例えば、下記のin.txtがあったとします。

$ cat in.txt 
2010,1
2009,2
2010,3
2008,4
2009,4

下記がサンプルコードになります。
print出力していますので、必要であればリダイレクト等でファイルに保存すると良いです。

$ cat sample.awk 
#!/bin/sh

cat in.txt | awk '
	BEGIN{
		FS = ","
		print "head" "," 2
	}
	{
		print $0
	}
	END{
		print "tail" "," 4
	}
'

下記が実行結果になります。
$ ./sample.awk 
head,2
2010,1
2009,2
2010,3
2008,4
2009,4
tail,4

スポンサーリンク