名前 | 形式 | 機能説明 | オプション | オペランド | 終了ステータス | 属性 | 関連項目 | 診断 | 注意事項
newform は filename 引数で指定されたファイルから行を読み取り、 形式を変更して標準出力に書き込みます。 ファイル名の指定が省略された場合には、 標準入力から読み取ります。 形式の変更は、コマンド行オプションの指定に従って 行います。
-s オプションを除き、コマンド行オプションは 任意の順序で指定でき、また繰り返して指定することもできます。 オプションとオプションの間の任意の位置にファイル名を 記述することも可能です。 オプションは記述された順序で処理されます。つまり、 -e15 -l60 という指定と -l60 -e15 という指定とでは、得られる結果は異なります。 複数のファイル名が指定された場合、 オプションはそのすべてに適用されます。
以下のオプションを指定できます。
各行において、先頭から最初のタブまでの文字を切り捨て、 切り捨てた部分の先頭から最大 8 文字を各行の終わりに付加します。 この切り捨てた部分 (最初のタブ文字は含まない) の長さが 8 文字を超える場合には、 8 文字目は * で表され、以降の文字はすべて捨てられます。 最初のタブは常に捨てられます。
タブを含んでいない行を持つファイルに対して このオプションを指定すると、 エラーメッセージが出力されプログラムは終了します。 切り捨てられた部分の文字は、 その行に対して有効な他のオプションがすべて処理されるまで 内部的に保持されます。 その後、行の最後尾にその部分が付加されます。
例として、先頭に数値、次に複数のタブ、さらに その後にテキストが書かれている行からなる ファイルが存在していると仮定します。 このファイルを変換して、 2 番目以降のタブを空白文字に置き換えたものから始まり、 その後にテキスト部分を置き、短ければ 72 カラムまで空白を詰め (または長い場合には 72 カラムまでで切り捨て)、先頭にあった数値を 73 カラムから置く、という形式にしたい場合には、 次のように指定します。
newform -s -i -l -a -e filename
入力タブ指定。入力行に含まれるタブの各々を、 tabspec 引数の指定に従って展開します。 tabspec の値としては、 tabs(1) で説明されているすべての形式が指定できます。また – という値も指定可能で、この場合 newform は、標準入力から読み込むデータの先頭行に タブの処理方法が記述されていると見なします ( fspec(4) を参照)。 tabspec 引数を省略すると、デフォルト値の –8 が用いられます。 tabspec の値が –0 のとき、タブは存在しないことを意味します。 このときタブが検出されると、 –1 が指定されていたものとして処理されます。
出力タブ指定。 tabspec 引数の指定に従って、空白文字をタブに置き換えます。 tabspec に指定できる値は、上記の –itabspec オプションと同じです。 tabspec 引数を省略すると、デフォルト値の –8 と見なされます。 tabspec の値が –0 のとき、空白文字はタブに変換されずにそのまま出力されます。
行の長さが有効な長さ ( –ln オプションの説明を参照) を超えている場合、先頭から n 文字分を破棄します。 n なしで -b オプションを指定すると、デフォルトとして 行の長さが有効な長さと等しくなるように、 必要な数の文字を切り捨てます。 このオプションの便利な使い方として、 COBOL プログラムの各行の行番号を削除する例を以下に示します。
newform -l1 -b7 filename
-bn が先頭部分を破棄するのに対し、この -en は終端部分を破棄します。それ以外は -bn と同じです。
行の長さが有効な長さに満たないとき、行の先頭に付加する 文字の数を指定します (文字の種類は -cchar オプションの説明を参照)。 n なしで -p オプションを指定すると、デフォルトとして 行の長さが有効な長さと等しくなるように 必要な数の文字を付加します。
-pn が先頭部分に文字を付加するのに対し、この -an は終端部分に文字を付加します。それ以外は -pn と同じです。
最初の出力行として、タブ指定形式を表す行を出力します。 その内容は -o オプションの指定に対応しており、 -o が複数個指定されていれば最後のものに対応しています。 -o が 1 つも指定されていなければ、デフォルトのタブ形式の –8 が出力されます。
-pn や -an オプションで付加する文字として、 char が示す文字を使用します。 char のデフォルト値は空白です。
行の有効な長さを n 文字とします。 n なしで -l オプションを指定すると、デフォルトとして 72 が用いられます。 -l そのものを省略すると、デフォルトとして 80 文字が有効な長さとなります。なお、個々の タブ文字およびバックスペース文字は、それぞれ 1 文字と数えられます。ただし -i オプションを使って、タブをいくつかの空白文字に 展開することも可能です。
-b オプションを有効に使用する目的で、 行の有効な長さをファイル中のどの行の長さよりも短い値に 設定したい場合、 –l1 と指定してください。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
使用条件 | SUNWesu |
いずれの診断メッセージも致命的なエラーを表します。
newform コマンド行に不正なオプションが指定されている
タブが含まれていない行を検出した
ファイルがオープンできない
内部作業バッファ中で行を展開したら、長さが 512 文字を超えた
タブ指定の形式が誤り。またはタブ位置の記述が 昇順になっていない
ファイル( または標準入力) から読み込まれた tabspec に、他のファイル (または標準入力) を参照する tabspec が含まれていた
通常 newform は、物理的な文字だけを認識します。ただし -i および -o に関しては、各行を適切な論理カラム位置に合わせて出力するために、 バックスペース文字も認識します。
-i– または -o– により tabspec を標準入力から読み込むように指定した場合でも、 newform はユーザーに対してプロンプトを表示しません。
-f オプションが指定され、最後の -o オプションが -o– と記述されていて、その前に -o– または -i– という指定が記述されている場合、 タブ指定形式を示す出力行の内容は不正確になります。
名前 | 形式 | 機能説明 | オプション | オペランド | 終了ステータス | 属性 | 関連項目 | 診断 | 注意事項