1.03.2基礎
records.txtに含まれる改行で終わる行の数を表示する。
単語数やバイト数は不要である。
適切なコマンドはどれか。
× 不正解
wc -lは入力に含まれる改行文字の数を表示する。最終行に改行がなければ見た目の行数と差が出る場合がある。
詳細解説
誤り
wc -w records.txt空白区切りの単語数を数える。
誤り。1行に複数単語があれば行数と異なるため、レコード行の総数にならない。
正しい
wc -l records.txt入力中の改行文字数を行数として表示する。
正しい。-lは改行で終了する3行なら3を返し、内容自体を出力しない。
誤り
wc -c records.txt入力のバイト数を数える。
誤り。マルチバイト文字や行の長さを含む総バイト数であり、行数ではない。
誤り
nl records.txt行へ番号を付けて内容も表示し、総行数だけの結果ではない。
誤り。nlは行番号付きの全文を生成し、総数だけを1つの数値で返す用途ではない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'a\nb\nc\n' | wc -l期待される結果
3理解のポイント
- -lはnewlines
- -wはwords
- -cはbytes
確認時の注意
- 確認環境: GNU coreutils 9.x / 標準入力
基礎のおさらい
最終改行
wc -lは論理的な表示行ではなく改行文字を数えるため、末尾改行なしの最終行は加算されない。
複数入力
複数ファイルを指定すると各ファイルの件数と合計を表示する。
問題IDKL-101-465
確認環境GNU coreutils 9.x / 標準入力
最終技術確認2026-08-13
誤り・権利侵害を報告