[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

8. 行のフィールドの処理


8.1 cut: 行の選択した部分の出力

cutは,それぞれの入力ファイルや,ファイルが与えられない場合 や`-'のファイル名に対しては標準入力の,それぞれの行の選択された部 分を標準出力に書き出します.概要です.

 
cut [option]… [file]…

以下の表で,byte-listcharacter-list,そして field-listは,一つ以上の数字またはカンマで分けられた(ダッシュで 分けられた二つの数字の)範囲です.バイト,文字,そしてフィールドは,1で 始まる番号がつきます.不完全な範囲を与えることができます. `-m'は`1-m'を意味します.`n-'は, `n'から行末やフィールドの終りまでを意味します.

このプログラムは以下のオプションも受け入れます.共通のオプションも 参照してください.

` -b byte-list'
` --bytes=byte-list'

byte-listでリストアップされた位置にあるバイトのみを出力します. タブとバックスペースは他の文字と同様に扱われます.それらは1バイト使用 します.出力の分離文字が指定されている場合(`--output-delimiter' を参照して下さい),選択したバイトの範囲の間の文字列を出力します.

` -c character-list'
` --characters=character-list'

character-listにリストアップされている位置にある文字のみを出力し ます.現在は`-b'と同じですが,国際化でそれが変更される可能性が あります.タブとバックスペースは他の文字と同様に扱われます.それらは1 バイト使用します.出力の分離文字が指定されている場合 (`--output-delimiter' を参照して下さい),選択したバイトの範囲の 間の文字列を出力します.

` -f field-list'
` --fields=field-list'

field-listにリストアップされたフィールドのみを出力します.デフォ ルトで,フィールドはTAB文字で分けられています. `--only-delimited' (`-s')オプションが指定されない限り, デリミタ文字の無い行も出力されます.

` -d input_delim_byte'
` --delimiter=input_delim_byte'

`-f'に対し,フィールドは,input_delim_byteの最初の文字に よって,入力を分離したものになります.(デフォルトはTABです).

` -n'

マルチバイトの文字を分けません(現在何もしません).

` -s'
` --only-delimited'

`-f'に対し,フィールド分離文字を含まない列を出力しません.通常, フィールド分離文字が無い行は,そのまま出力されます.

` --output-delimiter=output_delim_string'

`-f'に対し,出力フィールドは,output_delim_stringで分けら れます.デフォルトは入力の分離文字を使用します.バイトや文字のオフセッ トの範囲を選択するために`-b'や`-c'を使用しているとき,選 択したバイト数の範囲の間にoutput_delim_stringを出力します.

終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.


8.2 paste: ファイルの行を統合します

pasteは,与えられたそれぞれのファイルの,順番的に対応してい る行を,TAB文字で分離しながら標準出力に書き出します.`-'のファイ ル名に対して,または入力ファイルが与えられない場合,標準入力が使用され ます.

例えば以下のようになります.

 
$ cat num2
1
2
$ cat let3
a
b
c
$ paste num2 let3
1       a
2       b
        c

概要です.

 
paste [option]… [file]…

プログラムは以下のオプションを受け入れます.共通のオプションも参照 してください.

` -s'
` --serial'

それぞれのファイルから一行ではなく,一度に一つのファイルの行をペースト します.

 
$ paste -s num2 let3
1       2
a       b       c
` -d delim-list'
` --delimiters=delim-list'

統合される行の分離文字TABの代わりに,delim-listの文字を順番に使 用します.delim-listが使い尽くされたとき,最初から再び開始します.

 
$ paste -d '%_' num2 let3 num2
1%a_1
2%b_2
%c_

終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.


8.3 join: 共通のフィールドで行を結合

joinは,同一の結合フィールドを持つそれぞれの入力行の組に対し, 一行を標準出力に書き出します.概要です.

 
join [option]… file1 file2

file1またはfile2は(両方ではなく)`-'が可能で,標準入力 を意味します.file1file2は,結合フィールド上で並べ替えし ておくべきです.

通常,並べ替えの順序は,LC_COLLATEロカールで指定されている順番で す.`-t'オプションが与えられない限り,sort -bのように, 並べ替えの比較では結合フィールドの最初の空白は無視されます. `--ignore-case'オプションが与えられている場合,sort -fの ように,並べ替えの比較では結合フィールドの文字の大文字小文字は無視され ます.

しかし,GNUの拡張として,入力に組になる行が無い場合,並び順は,上記の 並び替えの比較が同じであると考えられる場合,そしてそのときだけ,二つの フィールドが同じであると考えられる順番になるはずです.例えば,以下のよ うになります.

 
$ cat file1
a a1
c c1
b b1
$ cat file2
a a2
c c2
b b2
$ join file1 file2
a a1 a2
c c1 c2
b b1 b2

デフォルトは,以下の通りです.結合フィールドは,それぞれの行の最初の フィールドです.入力のフィールドは,一つ以上の空白で分離されていて,行 の前の空白は無視されます.出力のフィールドはスペースで分離されています. それぞれの出力行は,結合フィールド,file1の残りのフィールド,そ してfile2の残りのフィールドから成り立ちます.

プログラムは,以下のオプションを受け入れます.共通のオプションも参 照してください.

` -a file-number'

ファイルfile-number (`1'または`2'のいずれか)で組になっ ていないそれぞれの行に対し,一行を通常の出力に追加して出力します.

` -e string'

入力で欠けているこれらの出力フィールドを,stringで置換します.

` -i'
` --ignore-case'

キーを比較するとき,大文字小文字の違いを無視します.このオプションを用 いると,入力ファイルの行は同じ方法でソートされている必要があります.こ の順序を生成するために,`sort -f'を使用してください.

` -1 field'

ファイル1のフィールドfield(正の整数)で結合します.

` -2 field'

ファイル2のフィールドfield (正の整数)で結合します.

` -j field'

`-1 field -2 field'と同じです.

` -o field-list'

field-listの書式に従い,それぞれの出力行を生成します. field-listのそれぞれの要素は,単一文字`0',または,ファイル 番号のm,`1'または`2',そしてnが正のフィールド番 号となっている,m.nの形式になります.

`0'のフィールド指定は,結合フィールドを示します.ほとんどの場合, `0'フィールドの指定の機能は,対応する結合フィールドとなる,明示的 なm.nを用いて再現できます.しかし,(`-a'または`-v' オプションを用いて)組にならない行を出力するとき,両方のファイルで組に ならない行がある場合,field-listm.nを用いて結合フィール ドを指定する方法はありません.joinにその機能を与えるため, POSIXは`0'フィールド指定の表記を考え出しました.

field-listの要素は,カンマまたは空白で分けられています.全ての出 力行は - `-a'や`-v'オプションで出力されるものを含め - 指定されたfield-listが適用されます.

` -t char'

文字charを入出力のフィールドセパレータとして使用します.入力ファ イルでcharが見つかるたびに,意味があるものとして扱います.

` -v file-number'

通常の出力の代わりに,ファイルfile-number (`1'または `2')の組にならないそれぞれの行に対し,一行を出力します.

更に,GNU joinは,単一の引数で呼び出されたとき,オプショ ン`--help'と`--version'は認識されます.See section 共通のオプション.

終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on June, 8 2005 using texi2html 1.70.