Next: , Previous: tr invocation, Up: Operating on characters   [Contents][Index]


9.2 expand: タブをスペースに変換する

expand は指定された各 file の内容を標準出力に書き出し、 その際にタブ文字を適切な数のスペースに変換する。 file が指定されていない場合や、file として ‘-’ が指定されている場合は、標準入力を対象にする。


書式:

expand [option]… [file]…

デフォルトでは、expand はすべてのタブをスペースに変換する。 バックスペース文字は、出力にそのまま残しておく。バックスペースには、 タブ幅を計算する際に、桁数を減らす働きがあるのだ。デフォルトの動作は、 -t 8 を指定したときと同じである (タブ位置を 8 桁ごとにする)。

このプログラムでは以下のオプションが使用できる。参照: Common options.

-t tab1[,tab2]…
--tabs=tab1[,tab2]…

タブ位置 (tab stop) が一つだけ指定された場合には、 (訳注: 入力行における) タブ位置が tab1 桁ごとあるものとする (デフォルトは 8 桁ごと)。それ以外の場合は、タブ位置を tab1, tab2, … 桁目に置き (行頭を 0 桁目として数える)、 指定された最後のタブ位置より後ろにあるタブは 1 個のスペースで置き換える。 タブ位置の指定は、コンマで区切ってもよく、空白で区切ってもよい。

互換性を考慮して、GNU の expand は、-tab1[,tab2]… という、 このオプションの古い書式も認めている。新しいスクリプトでは、 -t tab1[,tab2]… の方を使うべきである。

-i
--initial

各行の行頭にあるタブ群だけを (言い換えれば、スペースでもタブでもないどんな文字よりも前にある 1 個以上のタブだけを) スペースに変換する。

終了ステータス 0 は成功を示し、0 以外の値は失敗を示す。