103.2基礎
users.txtは1行につき1ユーザー名を保持している。
ファイルの行数を数える。
適切なコマンドはどれか。
× 不正解
wc -lは入力中の改行数を出力する。通常の1行1レコード形式の件数確認に使える。
詳細解説
誤り
wc -w users.txt単語数を数えるため、1行に複数語があれば行数と一致しない。
ユーザー名に空白がなくても、求める単位を直接指定するのは-lである。
誤り
wc -c users.txtバイト数を数える指定である。
文字コードを含む総バイト数になり、レコード件数ではない。
正しい
wc -l users.txt改行の数を数え、通常のテキストファイルでは行数として使える。
正解。1行1レコードのファイルに含まれる改行数を数える。
誤り
nl users.txt行番号を付けて内容を表示するが、行数だけを出力しない。
内容へ番号を付けて表示し、集計値だけにはならない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'alice
bob
carol
' | wc -l期待される結果
3(前の空白幅は環境により異なる)理解のポイント
- wcは入力を集計する
- -lは改行数
- -wは単語数、-cはバイト数
確認時の注意
- 確認環境: GNU coreutils 9.x
基礎のおさらい
最終改行
wc -lが数えるのは論理的な行ではなく改行文字である。末尾に改行がない最終行は数に入らない。
ファイル名表示
ファイル引数を渡すと通常は数値の後にファイル名も表示され、標準入力だけならファイル名は付かない。
問題IDKP-103-034
確認環境GNU coreutils 9.x
最終技術確認2026-08-12
誤り・権利侵害を報告