fold - 行の折り返し用フィルタ
fold [-b | --bytes] [ -s | --spaces] [-c | --characters ] [-w | --width width ] [-width] [--help] [ file]...
fold ユーティリティーは、入力ファイルから読み込んだ各行を、行の最大長が width で示すカラム位置 (–b オプション指定時はバイト数) になるように分割して複数行に表示するフィルタです。各出力行 (このセクションでは以降、セグメントと呼ぶ) が指定されたカラム位置 (またはバイト数) を超えない最大長になるように、NEWLINE 文字を挿入して行が分割されます。行が文字の途中で分割されることはありません。入力中の 1 つの文字が占有するカラム数より小さい値を width に指定した場合、その結果は予測できません。
–b オプションと –c オプションは相互に排他的で、一方のみを指定できます。
入力中に CARRIAGE-RETURN、BACKSPACE、または TAB 文字が検出され、– b オプションが指定されていない場合、特殊な処理が行われます。
現在の行の幅の数が 1 だけ減らされます。ただし負になることはありません。fold は、BACKSPACE 文字の直前や直後に NEWLINE 文字を挿入することはありません。
現在の行の幅の数が 0 に設定されます。 fold は、CARRIAGE-RETURN 文字の直前や直後に NEWLINE 文字を挿入することはありません。
検出された各 TAB 文字は、カラム位置ポインタを次のタブストップへ進めます。タブストップは、各カラム位置 n (n は 8 で割った剰余が 1 に等しくなる数) にあります。
サポートしているオプションは、次のとおりです。
width の値はカラム数ではなくバイト数で示されていることを指定します。–c オプションと同時に指定することはできません。
入力行に空白文字が含まれている場合、 出力セグメントの長さが width カラムまたはバイトを超えない範囲で、最後の空白文字の直後で 行を分割します。要件を満たす空白文字が存在しなければ、–s オプションは入力行のその出力セグメントに対して効果がありません。
width の値はカラム数ではなく文字数で示されていることを指定します。–b オプションと同時に指定することはできません。
出力セグメントの最大長をカラム数 (–b 指定時はバイト数、–c 指定時は文字数) で指定します。width の値が正の整数でないと、エラーが発生します。デフォルトの値は 80 です。
使用法の説明を出力し、終了します。
次のオペランドを指定できます。
行の折り返しを行うテキストファイルのパス名。file オペランドを指定しないと、標準入力が使用されます。
fold の実行に影響を与える次の環境変数についての詳細は、environ(7) を参照してください。LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、および NLSPATH。
次の終了ステータスが返されます。
指定されたファイルはすべて正常に処理されました。
エラーが発生しました。
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
cut(1), pr(1), attributes(7), environ (7), standards(7)
fold と cut(1) は、どちらも長い行を持つファイルから新たなテキストファイルを生成するために使われます。fold は行の内容を連続させるべき場合に使用するのに対して、cut は行 (またはレコード) の数を一定にしておく場合に使用します。
fold は、最大印刷幅 (通常は 80 または 132 カラム) を超える行は切り捨ててしまうような プリンタにテキストファイルを出力させるためによく使われます。
下線が存在する場合には、fold は正しく動作しないことがあります。