4.1 fmt: 段落のテキストを再書式化する.
fmtは,与えられた(最大)文字数(デフォルトは75)の出力行を生成
するために行を補充し繋げます.概要です.
fmt [option]... [file]...
fmtは,指定されたfile引数(または,与えられない場合は標
準入力)からファイルを読み込み,標準出力に書き出します.
デフォルトで,空白行,単語間のスペース,そして字下げは出力で維持されま
す.連続した入力行で字下げが異なるものは連結されません.入力のタブは展
開され,出力に書き込まれます.
fmtは,文の終りで改行しようとし,文の最初の単語の後や文の最
後の単語の前での改行を避けようとします.文の切れ目(sentence
break)は段落の終り,または,‘.?!’で終るすべて単語に,二つのスペー
スまたは行末が続くものと定義されていて,カッコや引用符の内部は無視され
ます.TeXのように,fmtは行の分割を選択する前に“段落”全
体を読み込みます.アルゴリズムは“Breaking Paragraphs Into Lines(段落
を行に区切る)”の変種です(Donald E. Knuth and Michael F. Plass,
Software—Practice and Experience, 11 (1981), 1119–1184).
プログラムは以下のオプションを受け入れます.Common optionsも参照
してください.
- ‘-c’
- ‘--crown-margin’
-
Crown marginモード: 段落の最初の二行の字下げを保存し,それに続く
それぞれの行の左の余白を,二行目の余白に揃えます.
- ‘-t’
- ‘--tagged-paragraph’
-
Tagged paragraphモード: crown marginモードに似ていますが,段落の
最初の行の字下が二行目の字下げと同じ場合,最初の行は一行の段落として扱
われます.
- ‘-s’
- ‘--split-only’
-
行の分割のみです.短い行を長い形式に連結しません.これはコードのサンプ
ル行と,その他の“書式化された”テキストが醜く連結されることを妨げます.
- ‘-u’
- ‘--uniform-spacing’
-
スペースの付け方を統一します.単語の間のスペースを一つのスペースに,そ
して文の間のスペースを二つのスペースに減らします.
- ‘-width’
- ‘-w width’
- ‘--width=width’
-
出力ファイルをwidth文字(デフォルトは75)まで補充します.
fmtは最初に,これより7%短い行にし,行の長さのバランスのため
の空間を与えようとします.
- ‘-p prefix’
- ‘--prefix=prefix’
-
prefix(空白で始めることも可能です)で始まる行のみ,書式化を適用し
ます.prefixと前置されたあらゆる空白は,書式化のため取り除かれ,それぞ
れの出力行に再び取り付けられます.一つの使用方法としては,ある種のプロ
グラムのコメントの書式化があげられ,そこではコードは変化しません.
終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.