.\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)fmt.1 8.1 (Berkeley) 6/6/93 .\" %FreeBSD: src/usr.bin/fmt/fmt.1,v 1.14 2004/08/02 11:12:13 tjr Exp % .\" $FreeBSD$ .\" .Dd August 2, 2004 .Dt FMT 1 .Os .Sh 名称 .Nm fmt .Nd 簡単なテキストフォーマッタ .Sh 書式 .Nm fmt .Op Fl cmnps .Op Fl d Ar chars .Op Fl l Ar num .Op Fl t Ar num .Op Ar goal Oo Ar maximum Oc | Fl Ns Ar width | Fl w Ar width .Op Ar .Sh 解説 .Nm ユーティリティは簡単なテキストフォーマットプログラムです。 引数として name が指定されていればその名前のファイルを、 指定されていなければ標準入力を読み込み、 入力した行を次々に連結していき、 .Ar maximum を超えない範囲で、 .Ar goal で指定した長さに近い文字数に整形します。 デフォルトでは、 .Ar goal の長さは 65、 .Ar maximum の長さは .Ar goal に 10 を加えたものです。 または、前にハイフンを付けるか .Fl w を使用することにより、単一の .Ar width パラメータを指定可能です。 例えば、 .Dq Li fmt -w 72 , .Dq Li fmt -72 , .Dq Li fmt 72 72 は同じ出力となります。 入力行の先頭に空白 がある場合は、整形した出力の先頭にも空白が置かれ段づけされます。 また、空白行や、文字と文字の間の空白の数も、出力に受け継がれます。 行が結合されたり分割されるのは、空白においてのみです。 つまり、複数の単語が結合されたりハイフネーションされることはありません。 .Pp オプションは次の通りです: .Bl -tag -width indent .It Fl c テキストを中央寄せさせます。 この場合、他のほとんどのオプションは無視されます。 行の分割や結合は行われません。 .It Fl m 入力に含まれるメールヘッダ行を目立つように整形しようとします。 .It Fl n .Ql \&. (ドット) 文字で開始する行を整形します。 通常では、 .Nm は、 .Xr nroff 1 との互換性のために、このような行を詰めます。 .It Fl p インデントされた段落を許します。 .Fl p フラグ無しでは、行頭の空白数が変わると、新規段落が開始します。 .It Fl s 行中の空白を潰し、複数の空白文字が単一の空白となるようにします (文末では、二つの空白となります)。 .It Fl d Ar chars .Ar chars を文末文字として認識します (他の文字はそうでないと認識します)。 デフォルトでは、文末文字は終止符 .Pq Ql \&. 疑問符 .Pq Ql \&? 感嘆符 .Pq Ql \&! です。 文字によっては、シェルから守るために、 エスケープが必要であることを覚えておいてください。 .It Fl l Ar number 各出力行の先頭の複数の空白をタブで置き換えます。 各 .Ar number 個の空白が、単一のタブで置き換えられます。 デフォルトは 8 です。 .Ar number が 0 である場合、空白は維持されます。 .It Fl t Ar number 入力ファイルのタブが、 .Ar number 個の空白をタブストップに仮定していると仮定します。 デフォルトは 8 です。 .El .Pp .Nm ユーティリティは、メールメッセージを送信する前に整形するために役立ちますが、 他の簡単なタスクのためにも使うことができます。たとえば、 .Xr ex 1 のビジュアルモード(すなわち .Xr vi 1 ) のなかで、次のコマンドを入力すると、 パラグラフを整形してくれます。 .Pp .Dl \&!}fmt .Sh 環境変数 .Xr environ 7 に記述されているように、 .Ev LANG , LC_ALL , LC_CTYPE 環境変数は .Nm の実行に影響を及ぼします。 .Sh 関連項目 .Xr fold 1 , .Xr mail 1 , .Xr nroff 1 .Sh 歴史 .Nm コマンドは .Bx 3 から登場しました。 .Pp このバージョンは完全に書き直したもので、 .Fx 4.4 に登場しました。 .Sh 作者 .An Kurt Shoens .An Liz Allen .Pf ( Ar goal の長さの概念を導入) .An Gareth McCaughan .Sh バグ このプログラムは、簡単で高速であるようにデザインされました。もっと複雑 な整形には、標準的なテキストプロセッサを使うのが適しています。 .Pp インデントされた段落の最初の行がとても長い場合 (goal の長さの 2 倍よりも長い場合)、 出力のインデントが誤りとなる可能性があります。 .Pp どの行がメールヘッダでありどれがそうでないかの判断を、 .Nm ユーティリティが絶対に間違えないということはありません。