名称
fold ― 一定幅の出力デバイスのための長い行の折り返し
構文
fold [-b] [-s]
[-w width] [file ...]
旧形式
fold [-s] [- width] [file ...]
説明
<< fold コマンドは、指定ファイルの内容が最大幅 width カラム位置 ( -b オプションを指定した場合はバイト) となるように行を折り返すフィルタです。 fold コマンドは改行キャラクタの挿入によって行を折り返し、指定されたカラム位置 (バイト) 数を越えない範囲で各出力行の幅が最大となるようにします。キャラクタの途中で行を折り返すことはできません。
ファイルを指定しないか、 - の file 名を指定すると、標準入力が使用されます。
<<a > The fold コマンドは、印刷可能幅より広い行を折り返さずに切り捨てるラインプリンタに対してテキストファイルを送る際によく使われます。
バックスペース、タブ、またはキャリッジリターン文字が入力にあって、 -b オプションが指定されていない場合、
以下のように特殊な処理が行われます。
| バックスペース | | 行幅の現在のカウントが 1 減分されます。ただし、 カウントはマイナスにはなりません。
したがって、 character-backspace-character のような文字の並びは、両方の文字がそれぞれ単一のカラム位置を占有するものと仮定して、
1 つ分のカラム位置としてカウントされます。 fold は、バックスペースキャラクタの直前あるいは直後に改行キャラクタを挿入しません。 |
| タブ | | タブ文字があるごとに、カラム位置ポインタが 次のタブストップに進みます。
タブストップは 8 カラムごとに カラム位置 1,9,17,25,33 などで設定されます。 |
| キャリッジリターン | | ライン幅のカレントカウント値がゼロに設定されます。 fold は、バックスペースキャラクタの直前あるいは直後に改行キャラクタを挿入しません。 |
fold はファイル中のアンダーラインに影響を与えることがあるので注意してください。
オプション
fold コマンドは以下のオプションおよびコマンド行引き数を認識します。
| -b | | カラム位置ではなくバイトで width をカウントします。 |
| -s | | カラム位置の指定 (バイト) 数の前にある、 最後の空白文字で行を分割します。
何もなければ、指定した行の長さで行を分割します。 |
| -w width | | |
| -width | | 最大行長をカラム位置 ( -b を指定した場合はバイト) 数で指定します。
デフォルト値は 80 です。 width は、タブがある場合は 8 の倍数にします。 そうでなければ、 fold で処理する前に expand を使ってタブを展開しなければなりません ( expand(1) を参照)。 -width オプションは旧版であり、将来のリリースでは削除される可能性があります。 |
多言語化対応
環境変数
LC_CTYPE は、シングルバイトおよびマルチバイト、または
そのいずれかの文字としてテキストの解釈を決定します。
LC_MESSAGES は、メッセージの表示に使われる言語を決定します。
LC_CTYPE または LC_MESSAGES が環境の中で指定されていなかったり、空の文字列の中に設定されている場合には、 LANG の値がその変数のデフォルトとして用いられます。 LANG が指定されていなかったり、空の文字列の場合には、デフォルトの
"C" ( lang(5) を参照) が LANG の値として使われます。
多言語対応変数のいずれかの設定が不適当な場合には、 fold は多言語対応変数が"C"に設定されているものとして動作します。 environ(5) を参照してください。
サポートされるコードセット
シングル/マルチバイトの文字コードセットがサポートされています。