テキストファイルに行番号を追加する方法です。
以下の内容のsample.txtファイルを用意し、これに行番号を追加して表示したり、リダイレクトでファイルに保存します。
aaaa bbbb cccc dddd eeee ffff gggg hhhh iiii jjjj kkkk mmmm
awkで行番号を追加
テキストファイルの各行先頭に、行番号を追加して表示する場合、awkを使うと以下のようになります。
awk '{print NR": " $0 }' [ファイルパス]
ファイルにしたい場合はリダイレクトを使用します。
awk '{print NR": " $0 }' [ファイルパス] > [行番号有りファイル]
例 sample.txtに行番号を追加する場合は、以下のように実行します。
awk '{print NR": " $0 }' sample.txt
1: aaaa
2: bbbb
3: cccc
4: dddd
5: eeee
6: ffff
7: gggg
8: hhhh
9: iiii
10: jjjj
11: kkkk
12: mmmm
13:
-
行番号の桁数指定と右揃え
行番号の桁数を揃えて見やすくしたい場合、printfを使えば可能です。 以下は行番号を4桁、右揃えにします。 2桁にしたい場合は "%2d"、6桁にしたい場合は"%6d"を指定します。
awk '{printf("%4d: %s\n", NR, $0) }'
例 sample.txtに、右揃えで4桁の行番号を追加する場合
awk '{printf("%4d: %s\n", NR, $0) }' sample.txt
1: aaaa
2: bbbb
3: cccc
4: dddd
5: eeee
6: ffff
7: gggg
8: hhhh
9: iiii
10: jjjj
11: kkkk
12: mmmm
13:
例 2桁の行番号にする場合
awk '{printf("%2d: %s\n", NR, $0) }' sample.txt
1: aaaa
2: bbbb
3: cccc
4: dddd
5: eeee
6: ffff
7: gggg
8: hhhh
9: iiii
10: jjjj
11: kkkk
12: mmmm
13:
行番号の桁数指定と左揃え
行番号の桁数を指定して左揃えにする場合は、"%"と桁数の間に"-"を追加します。
awk '{printf("%-4d: %s\n", NR, $0) }'
例 sample.txtに、左揃えで4桁の行番号を追加する場合
awk '{printf("%-4d: %s\n", NR, $0) }' sample.txt
1 : aaaa
2 : bbbb
3 : cccc
4 : dddd
5 : eeee
6 : ffff
7 : gggg
8 : hhhh
9 : iiii
10 : jjjj
11 : kkkk
12 : mmmm
13 :
行番号の桁数指定と0でパディング
指定桁数で空いた個所を0でパディングしたい場合、"%"のあとに"0"を入れます。
awk '{printf("%04d: %s\n", NR, $0) }'
例 sample.txtに、4桁で0パディングする場合
awk '{printf("%04d: %s\n", NR, $0) }' sample.txt
0001: aaaa
0002: bbbb
0003: cccc
0004: dddd
0005: eeee
0006: ffff
0007: gggg
0008: hhhh
0009: iiii
0010: jjjj
0011: kkkk
0012: mmmm
0013: