Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

nlコマンドを使うと、ファイルに行数がついてくる

ちゃんと設定されたエディタだと、行番号が左側についてたりしますよね。
ただ、デフォのcatやlessではないのが実際。
そんなときは、nlコマンドを使うと楽できます。
パイプを通すので、他のツールとの連携も楽々。

使い方

なにも指定しなければ、左側に行が表示されます。

$ cat sheet.tsv | nl | tail
   192		United Arab Emirates	1	UTC+04:00	
   193		Uruguay	1	UTC−03:00	
   194		Uzbekistan	1	UTC+05:00 (Uzbekistan Time)	
   195		Vanuatu	1	UTC+11:00	
   196		Vatican City	1	UTC+01:00 (CET)	
   197		Venezuela	1	UTC−04:30	Time in Venezuela
   198		Vietnam	1	UTC+07:00 (Indochina Time)	
   199		Yemen	1	UTC+03:00	
   200		Zambia	1	UTC+02:00 (CAT)	
   201		Zimbabwe	1	UTC+02:00 (CAT)	

数字横の文字列(デフォではタブ)の変更もできます

$ cat sheet.tsv | nl -s ' >>'  | tail
   192 >>	United Arab Emirates	1	UTC+04:00	
   193 >>	Uruguay	1	UTC−03:00	
   194 >>	Uzbekistan	1	UTC+05:00 (Uzbekistan Time)	
   195 >>	Vanuatu	1	UTC+11:00	
   196 >>	Vatican City	1	UTC+01:00 (CET)	
   197 >>	Venezuela	1	UTC−04:30	Time in Venezuela
   198 >>	Vietnam	1	UTC+07:00 (Indochina Time)	
   199 >>	Yemen	1	UTC+03:00	
   200 >>	Zambia	1	UTC+02:00 (CAT)	
   201 >>	Zimbabwe	1	UTC+02:00 (CAT)	

開始する数値の変更も可能

$ cat sheet.tsv | nl -v 1000  | tail
  1191		United Arab Emirates	1	UTC+04:00	
  1192		Uruguay	1	UTC−03:00	
  1193		Uzbekistan	1	UTC+05:00 (Uzbekistan Time)	
  1194		Vanuatu	1	UTC+11:00	
  1195		Vatican City	1	UTC+01:00 (CET)	
  1196		Venezuela	1	UTC−04:30	Time in Venezuela
  1197		Vietnam	1	UTC+07:00 (Indochina Time)	
  1198		Yemen	1	UTC+03:00	
  1199		Zambia	1	UTC+02:00 (CAT)	
  1200		Zimbabwe	1	UTC+02:00 (CAT)	

参考もと

  • man nl