行数

テキスト中の行の数。改行文字で区切られた論理行と、表示幅に応じて折り返される表示行の 2 種類があり、文字数・ページ数の算出やコードの規模測定に使われる。

行数 (line count) は、テキストを構成する行の数です。一見単純な概念ですが、「行」の定義には 2 種類あります。論理行 (logical line) は改行文字で区切られた行で、テキストエディタの行番号に対応します。表示行 (visual line / wrapped line) は画面の幅に応じてワードラップされた行で、同じテキストでもウィンドウ幅によって行数が変わります。

プログラミングでは、行数はコードの規模を測る基本的な指標です。LOC (Lines of Code) はソフトウェアの規模を表す伝統的な指標で、空行やコメント行を除いた SLOC (Source Lines of Code) がより正確な指標として使われます。Linux カーネルは約 3,000 万行、Google のコードベースは約 20 億行と言われています。

テキストエディタやターミナルでは、行数の表示が標準機能です。VS Code はステータスバーに「行:列」の形式でカーソル位置を表示し、ファイル全体の行数も確認できます。UNIX の wc -l コマンドはファイルの行数を数える最もシンプルな方法です。ただし、wc -l は改行文字の数を数えるため、最終行に改行がないファイルでは実際の行数より 1 少ない値が返ります。

文字数と行数の関係は、1 行あたりの文字数 (行長) で決まります。原稿用紙は 1 行 20 文字 × 20 行 = 400 文字です。A4 用紙に 40 文字 × 36 行で印刷すれば 1 ページ 1,440 文字になります。行数から文字数を概算する場合、1 行あたりの平均文字数を掛ければ近似値が得られますが、短い行 (段落の最終行など) があるため実際の文字数はやや少なくなります。

CSV や TSV ファイルでは、行数がレコード数に対応します。100 万行の CSV ファイルは 100 万件のデータを含みます (ヘッダー行を除く)。ただし、フィールド内に改行を含むデータがある場合、単純な行数カウントではレコード数と一致しません。正確なレコード数を得るには、CSV パーサーでフィールドの引用符を正しく処理する必要があります。

ウェブデザインでは、テキストの行数を制限する CSS テクニックがあります。-webkit-line-clamp プロパティで表示行数を制限し、超過分を省略記号 (...) で表示できます。カード UI やリスト表示で説明文を 3 行に制限する場合などに使われ、文字数ではなく行数で表示量を制御する手法です。

この記事を共有