【Linux】テキストファイルに行番号をつける:nl

Linux

どーも!marusukeです!

テキストファイルに行番号をつけるコマンドnlについて説明します!

nlコマンドでできること

nlコマンドは、テキストファイルの各行に番号を付けて出力します

各行に番号をつけることで、ファイル内の特定の行を参照する際に便利です

nlコマンドの使用例

echo -e "一行目\n二行目\n三行目" | nl
1 一行目
2 二行目
3 三行目

nlコマンドのオプション

オプション説明
-b 条件番号を付ける行を指定する条件を設定します(例: -b a すべての行に番号を付ける)
-n 書式行番号の書式を設定します(例: -n ln 左寄せ、先頭にゼロをつけない)
-w 数値行番号フィールドの幅を設定します(例: -w 2 行番号の幅を2に設定)
-s "文字列"行番号とテキストの間に挿入する文字列を設定します(例: -s ": " 行番号の後に”: “を挿入)
-v 数値最初の行番号を設定します(例: -v 10 最初の行番号を10から開始)

各オプションは、-b 条件などのように条件や書式などを設定します。以下に各オプションについて説明します

-bオプションについて

オプション説明
-b aすべての行に番号を付けます。
-b t空でない行にのみ番号を付けます(デフォルト)。

-b aの例

すべての行に番号を付けます

echo -e "一行目\n\n三行目" | nl -b a
     1	一行目
     2	
     3	三行目

-b tの例

空でない行にのみ番号を付けます(デフォルト)

echo -e "一行目\n\n三行目" | nl -b t
     1	一行目

     2	三行目

-nオプションについて

オプション説明
-n ln行番号を左寄せで表示します。
-n rn行番号を右寄せで表示し、先頭にゼロを付けません。
-n rz行番号を右寄せで表示し、先頭をゼロで埋めます。

-n lnの例

行番号を左寄せで表示します

echo -e "一行目\n二行目\n三行目" | nl -n ln
1 一行目
2 二行目
3 三行目

-n rnの例

行番号を右寄せで表示します。(先頭にゼロを付けません)

echo -e "一行目\n二行目\n三行目" | nl -n rn
1 一行目
2 二行目
3 三行目

-n rzの例

行番号を右寄せで表示します(先頭をゼロで埋めます)

echo -e "一行目\n二行目\n三行目" | nl -n rz
001 一行目
002 二行目
003 三行目

-wオプションについて

オプション説明
-w 数値行番号フィールドの幅を指定します(数値は左側からの行番号の表示位置です)

-w 1の例

行番号の表示位置をを「1」にする場合

echo -e "一行目\n二行目\n三行目" | nl -w 1
1 一行目
2 二行目
3 三行目

-w 3の例

行番号の表示位置をを「3」にする場合(左側に2つ分スペースがあり、3つ目に行番号が表示される)

echo -e "一行目\n二行目\n三行目" | nl -w 3
1 一行目
2 二行目
3 三行目

-sオプションについて

オプション説明
-s 文字列行番号とテキストの間に挿入する区切り文字または文字列を指定します。

-s “. “の例

行番号後に". "を追加する場合

echo -e "一行目\n二行目\n三行目" | nl -s ". "
1. 一行目
2. 二行目
3. 三行目

-s ” –> “の例

行番号後に"--> "を追加する場合

echo -e "一行目\n二行目\n三行目" | nl -s " --> "
1 --> 一行目
2 --> 二行目
3 --> 三行目

-vオプションについて

オプション説明
-v 数値出力される最初の行番号を指定します。このオプションにより、デフォルトの「1」から始まる代わりに、任意の数値から行番号付けを開始することができます。

-v 5の例

行番号を5から始めたい場合

echo -e "一行目\n二行目\n三行目" | nl -v 5
5 一行目
6 二行目
7 三行目

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました