1.03.2基礎
prose.txtの段落を単語境界で折り返し、目標幅を40文字に整える。
固定位置で機械的に分割するのではなく、段落を再整形する。
適切なコマンドはどれか。
× 不正解
fmtは段落を読み、単語境界を考慮して指定幅へ再整形する。-wで目標幅を指定する。
詳細解説
誤り
fold -w 40 prose.txt幅で折り返せるが、段落全体を再配置するfmtの役割とは異なる。
誤り。foldは既存行を幅で折る処理が中心で、複数行の段落を読み直して整形するfmtとは異なる。
誤り
pr -w 40 prose.txt印刷向けページ幅を設定し、段落の再整形を目的としない。
誤り。prはページヘッダーや余白を含む印刷レイアウト用で、段落の語を再配置しない。
誤り
split -l 40 prose.txt40行ずつ別ファイルへ分割する。
誤り。split -l 40は40文字幅ではなく40行単位で複数ファイルを作る。
正しい
fmt -w 40 prose.txt段落の行を結合・折り返しし、目標幅40へ整形する。
正しい。fmt -w 40は段落を読み、語のまとまりを保って目標幅へ行を組み直す。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'one two three four five six seven\n' | fmt -w 12期待される結果
各行がおおむね12文字以内となる単語単位の折り返し理解のポイント
- fmtはparagraph formatting
- -wはwidth
- splitはファイル分割
確認時の注意
- 確認環境: GNU coreutils 9.x / 標準入力
基礎のおさらい
目標幅
fmtは厳密な固定長切断ではなく、単語境界を考慮した読みやすい幅を目指す。
入力保存
fmtの結果は標準出力へ出るため、元ファイルを変更せず確認できる。
問題IDKL-101-451
確認環境GNU coreutils 9.x / 標準入力
最終技術確認2026-08-13
誤り・権利侵害を報告