テキストファイルに行番号を追加する方法です。
以下の内容の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: