名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 注意事項
fold ユーティリティは、入力ファイルから読み込んだ各行を、 行の最大長が width で示すカラム数 ( -b オプション指定時はバイト数 ) になるように 分割して複数行に表示するフィルタです。 つまり各出力行 ( 以降、セグメントと呼ぶ ) の長さが 指定されたカラム数またはバイト数を超えないように、 復帰改行文字を挿入していきます。 分割は文字の途中で発生することはありません。 入力中の 1 つの文字が占有するカラム数より小さい値を width に指定した場合、その結果は予測できません。
-b オプションが省略された場合、入力中に 改行、バックスペース、タブのいずれかの文字を検出すると、 以下に述べるような特殊な処理が行われます。
現在の行の幅の値が 1 だけマイナスされます。 ただし負の数になることはありません。 fold は、バックスペース文字の直前や直後に復帰改行を挿入することはありません。
現在の行の幅の値が 0 に設定されます。 fold は、改行文字の直前や直後に復帰改行を挿入することはありません。
カラム位置ポインタを次のタブ位置へ進めます。 タブ位置は、カラム 1 から 8 カラムごと (1, 9, 17 ...) に 設定されています。
以下のオプションを指定できます。
width の値はカラム数ではなくバイト数で示されていることを指定します。
入力行に空白文字が含まれている場合、 出力セグメントの長さが width カラムまたはバイトを超えない範囲で、最後の空白文字の直後で 行を分割します。 この条件に合う空白文字が存在しなければ、 -s オプションはそのセグメントに関しては無意味となります。
出力セグメントの最大長をカラム数 (-b 指定時はバイト数) で指定します。 width の値が正の整数でないと、エラーが発生します。 デフォルト値は 80 です。
長い行を含んでいるファイルをプリンタに送る場合、 そのプリンタに lp(1) が割り当てた行の幅を知っていれば、以下のようなコマンドにより 出力行を折り返せます。
example% fold -w 132 bigfile | lp
fold の実行に影響を与える環境変数 LC_CTYPE、 LC_MESSAGES、 NLSPATH についての詳細は、 environ(5) を参照してください。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
使用条件 | SUNWcsu |
CSI | 対応済み |
fold と cut(1) は、どちらも長い行を持つファイルから新たなテキストファイルを 生成する目的で使われます。 fold は行の内容を連続させるべき場合に使用するのに対して、 cut は行 (またはレコード) の数を一定にしておく場合に使用します。
fold は、最大印刷幅 (通常は 80 または 132 カラム) を超える行は切り捨ててしまうような プリンタにテキストファイルを出力させるためによく使われます。
下線が入力ファイルに含まれている場合には、 fold は正しく動作しないことがあります。
名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 注意事項