FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | 関数 | 終了ステータス | 使用例 | 関連項目 | 規格 | 歴史 | バグ
AWK(1)                  FreeBSD 一般コマンドマニュアル                  AWK(1)

名称
     awk -- パターン指向のスキャンと処理言語

書式
     awk [-safe] [-V] [-d[n]] [-F fs] [-v var=value] [prog | -f progfile]
         file ...

解説
     awk は、prog または -f progfile として指定された 1 つ以上のファイルで逐語
     的に指定されたパターンの組のいずれかと一致する行に対しで各入力 file をス
     キャンします。各パターンにおいて、file の行がパターンと一致するとき、実行
     される関連したアクションを指定することができます。各行は、すべてのパター
     ンのアクション文のパターン部分と比較されます。関連するアクションは、一致
     しているパターンごとに実行されます。ファイル名 `-' は、標準入力を意味しま
     す。形式 var=value のあらゆる file は、ファイル名ではなく、代入として扱わ
     れ、それがファイル名であったなら、それがオープンされた時点に実行されま
     す。

     オプションは、次の通りです:

     -d[n]   デバッグモード。デバッグレベルを n に設定するか、n が指定されない
             なら、1 に設定します。1 より大きな値によって、awk は、致命的エ
             ラーでコアダンプします。

     -F fs   正規表現 fs である入力フィールドのセパレータを定義します。

     -f progfile
             コマンド行の代わりに指定されたファイル progfile からプログラム
             コードを読み込みます。

     -safe   ファイルの出力 (print >, print >>) プロセスの作成 (cmd | getline,
             print |, system) を無効にし、環境変数にアクセスします (ENVIRON;
             下記の変数のセクションを参照)。これは、最初の (そして、あまり信頼
             できない) awk の ``safe'' (安全な) バージョンの近似です。

     -V      標準出力に awk のバージョン番号を印刷 (表示) し、終了します。

     -v var=value
             prog が実行される前に、value を変数 var に代入します。-v オプショ
             ンは、何度も与えることができます。

     入力は、通常、改行によって、または RS の値によって分離された入力行
     (records) (レコード) によって構成されています。RS がヌルであるなら、あら
     ゆる空白行は、レコードのセパレータとして使用され、改行は、(FS の値に加え
     て) フィールドセパレータとして使用されます。これは、複数行のレコードで動
     作するとき、便利です。

     入力行は、通常、空白類、または正規表現 FS によって分離されるフィールドで
     構成されます。フィールドは、$1, $2, ..., で表され、一方 $0 は、全体の行を
     参照します。FS がヌルであるなら、入力行は、1 文字ごとに 1 つのフィールド
     に分けられます。

     通常、いくつかの空白は、フィールドを分離します。フィールドのセパレータを
     単一の空白に設定するために、`[ ]' の値で -F オプションを使用します。`t'
     のフィールドセパレータが指定されるなら、awk は、あたかも `\t' がが指定さ
     れ、フィールドセパレータとして <TAB> を使用するかのように扱います。フィー
     ルドセパレータとしてリテラル `t' を使用するために、`[t]' の値で -F オプ
     ションを使用します。

     パターン-アクション文は、次の形式があります。

           pattern { action }

     { action } が不足することは、行を印刷 (表示) します。パターンが不足するこ
     とは、常に一致します。パターン-アクション文は、改行またはセミコロンによっ
     て分離されます。

     終了文または、コンマ (`,'), 開き大括弧 (`{'), 論理的な AND (`&&'), 論理的
     な OR (`||') に続いて、`do' または `else' キーワードの後に、または `if',
     `for' または `while' 文の閉じ大括弧の後に、改行が許可されます。さらに、
     トークンの間の改行をエスケープするために、バックスラッシュ (`\') を使用す
     ることができます。

     アクションは、一連の文です。文は、次の 1 つを指定することができます:

           if (式) 文 [else 文]
           while (式) 文
           for (式; 式; 式) 文
           for (var in array) 文
           dowhile (式)
           break
           continue
           { [文 ...] }
           式 # 通常 var = 式
           print [式の-リスト] [>式]
           printf format [..., 式-リスト] [>式]
           return [式]
           next # この入力行で残りのパターンをスキップします
           nextfile # このファイルの残りをスキップし, 次をオープンし, 先頭で開
                   始します
           delete array[expression] # 配列の要素を削除します
           delete array # 配列のすべての要素を削除します
           exit [式] # 直ちに終了します; 状態は, 式です

     文は、セミコロン、改行または右大括弧によって終わります。空の式-リスト $0
     を表します。文字列定数は、中で認識される、通常の C エスケープで "" で引用
     されます (これらの完全なリストについては、printf(1) を参照)。式は、適切な
     文字列または数値を取り、演算子 + - * / % ^ (べき乗) と (空白類によって示
     される) 連結を使用して構築されます。また、演算子 ! ++ -- += -= *= /= %=
     ^= > >= < <= == != ?: も式で利用可能です。変数は、スカラ、(x[i] で示され
     る) 配列要素またはフィールドです。変数は、ヌル文字列に初期化されます。配
     列の添字は、必ずしも数値でなく、あらゆる文字列でもかまいません。これは、
     連想記憶のやり方を可能にします。[i,j,k] のような複数の添字が許可されま
     す。構成要素は、連結され、SUBSEP (下記の変数のセクションを参照) の値に
     よって分離されます。

     print は、その引数を、現在の出力フィールドセパレータによって分離されて、
     出力レコードセパレータによって終了する、標準出力 (か、または >file または
     >>file が与えられるなら、ファイルに、または | cmd が与えられるなら、パイ
     プに) 印刷 (表示) します。file cmd は、リテラルの名前または括弧で囲まれた
     式を指定できます。異なった文の同一の文字列値は、同じオープンしているファ
     イルを示します。printf 文は、書式にしたがってその式のリストを書式化します
     (printf(1) を参照)。

     パターンは、正規表現と関係式の (! || && などの) 任意のブール値の組み合わ
     せです。awk は、拡張された正規表現 (ERE) をサポートします。正規表現に関す
     る詳細については、re_format(7) を参照してください。パターンの孤立された
     (isolated) 正規表現は、全体の行に適用します。また、正規表現は、演算子 ~!~ を使用して、関係式に現れます。/re/ は、不変の正規表現です。あらゆる
     文字列 (定数または変数) は、パターンの孤立された (isolated) 正規表現の位
     置を除いて、正規表現として使用されます。

     パターンは、コンマによって区切られた 2 つのパターンから成ります。この場合
     に、アクションは、最初のパターンの発生から 2 番目の発生を通してすべての行
     に対して実行されます。

     関係式は、次の 1 つです:

           式 matchop 正規表現
           式 relop 式
           式 in 配列名
           (expr, expr, ...) in 配列名

     ここで、relop は、C の 6 つの関係演算子のいずれかで、matchop は、~ (一致
     する) または !~ (一致しない) のいずれかです。条件文は、演算式、関係式、ま
     たはこれらのブール値の組み合わせです。

     特別なパターン BEGINEND は、最初の入力行が読み込まれる前で、最後が読
     み込まれた後に制御を捕獲するために使用されます。BEGINEND は、他のパ
     ターンと組み合わせられません。

     特別な意味がある変数名は、次の通りです:

     ARGC       引数のカウント、代入可能です。
     ARGV       引数の配列、代入可能です。ヌルでないメンバは、ファイル名と見な
                されます。
     CONVFMT    数値を変換するときの変換書式 (デフォルトは、"%.6g" です)。
     ENVIRON    環境変数の配列。添字は、名前です。
     FILENAME   現在の入力ファイルの名前。
     FNR        現在のファイルの現在のレコードの序数。
     FS         フィールドを分離するために使用される正規表現。また、オプション
                -F fs によって設定可能です。
     NF         現在のレコードのフィールドの数。現在のレコードの最後のフィール
                ドの値を取得するために、$NF を使用することができます。
     NR         現在のレコードの序数。
     OFMT       数値のための出力書式 (デフォルトは、"%.6g" です)。
     OFS        出力フィールドのセパレータ (デフォルトは、空白)。
     ORS        出力レコードのセパレータ (デフォルトは、改行)。
     RLENGTH    match() 関数によって一致している文字列の長さ。
     RS         入力レコードのセパレータ (デフォルトは、改行)。
     RSTART     match() 関数によって一致している文字列の開始位置。
     SUBSEP     複数の添字を分離します (デフォルトは、034)。

関数
     awk 言語には、次のさまざまな組み込み関数があります: 計算、文字列、入力/出
     力、一般的とビット操作。

     関数は、次のように (パターン-アクション文の位置で) 定義されます:

           function foo(a, b, c) { ...; return x }

     パラメータは、スカラであるなら、値で、配列名であるなら、参照で渡されま
     す。関数は、再帰的に呼び出すことができます。パラメータは、関数にローカル
     です。すべての他の変数は、グローバルです。したがって、ローカル変数は、関
     数定義の余分なパラメータを提供することによって作成されます。

   算術関数
     atan2(y, x)  ラジアンで y/x の逆正接を返します。

     cos(x)       x の余弦 (コサイン) を返します、ここで、x は、ラジアンで測定
                  されます。

     exp(x)       の指数を返します。

     int(x)       整数値に切り詰められた x を返します。

     log(x)       x の自然対数を返します。

     rand()       0<=n<1.  である、乱数 n を返します。

     sin(x)       x の正弦を返します、ここで x は、ラジアンで測定されます。

     sqrt(x)      x の立方根を返します。

     srand(expr)  expr への rand() のためのシード (種) を設定し、前のシード
                  (種) を返します。expr が省略されるなら、代わりに、時刻が使用
                  されます。

   文字列機関数
     gsub(r, t, s)    正規表現のすべての発生が置き換えられることを除いて、
                      sub() と同じです。gsub() は、置換の数を返します。

     index(s, t)      文字列 t が現れる s の位置を返すか、またはそれがないな
                      ら、0 を返します。

     length(s)        文字列として取られる s の長さを返すか、または引数が与え
                      られないなら、$0 の長さが返されます。

     match(s, r)      正規表現 r が現れる s の位置を返すか、またはそれが見つか
                      らないなら、0 を返します。変数 RSTART は、(返される値と
                      同じである) 一致する文字列の位置に設定されるか、または一
                      致が見つからないなら、0 に設定されます。変数 RLENGTH
                      は、一致する文字列の長さに設定されるか、または一致が見つ
                      からないなら、-1 に設定されます。

     split(s, a, fs)  文字列 s を配列要素 a[1], a[2], ..., a[n] に分割し、n を
                      返します。分割は、正規表現 fs または fs が与えられないな
                      ら、フィールドセパレータ FS で行われます。フィールドセパ
                      レータとして空の文字列は、文字列を 1 文字ごとに 1 つの配
                      列要素に分割します。

     sprintf(fmt, expr, ...)
                      printf(1) の書式 fmt にしたがって expr, ... を書式化した
                      結果の文字列。

     sub(r, t, s)     文字列 s 中の最初に現れた正規表現 rt に置換します。s
                      が与えられないなら、$0 が使用されます。t のアンパサンド
                      (`&') は、正規表現 r で文字列 s に置き換えられます。それ
                      に先行する 2 つのバックスラッシュ (`\\') でリテラルのア
                      ンパサンドを指定することができます。それに先行する別の
                      バックスラッシュ (`\\') でリテラルのバックスラッシュを指
                      定することができます。sub() は、置換の数を返します。

     substr(s, m, n)  多くても、1 からカウントされる位置 m で始まる sn 文
                      字の部分文字列を返します。n が省略されるなら、または n
                      が文字列の残りより多い文字を指定するなら、部分文字列の長
                      さは、s の長さによって制限されます。

     tolower(str)     str のすべての大文字を対応する同等の小文字に変換し、その
                      コピーを返します。

     toupper(str)     str のすべての小文字を対応する同等の大文字に変換し、その
                      コピーを返します。

   入力/出力と一般的な関数
     close(expr)           ファイルまたはパイプの expr をクローズします。expr
                           は、ファイルまたはパイプをオープンするために使用さ
                           れる文字列と一致するべきです。

     cmd | getline [var]   cmd の出力からパイプ化されたストリームの入力のレ
                           コードを読み込みます。var が省略されるなら、変数 $0NF が設定されます。そうでなければ、var が、設定
                           されます。ストリームがオープンされていないなら、そ
                           れは、オープンされます。ストリームがオープンされ続
                           けている限り、その後の呼び出しは、ストリームからそ
                           の後のレコードを読み込みます。ストリームは、close()
                           への呼び出しで明示的にクローズされるまで、オープン
                           され続けます。getline は、成功した入力に対して 1 を
                           返し、ファイルの終りに対して 0 を返し、エラーに対し
                           て -1 を返します。

     fflush([expr])        ファイルまたはパイプ expr のためのバッファリングさ
                           れた出力をフラッシュするか、または expr が省略され
                           るなら、すべてのオープンしているファイルまたはパイ
                           プをフラッシュします。expr は、ファイルまたはパイプ
                           をオープンするために使用される文字列と一致するべき
                           です。

     getline               現在の入力ファイルから次の入力レコードを $0 に設定
                           します。getline のこの形式は、変数 NF, NRFNR を
                           設定します。getline は、成功した入力に対して 1 を返
                           し、ファイルの終りに対して 0 を返し、エラーに対して
                           -1 を返します。

     getline var           $0 を変数 var に設定します。getline のこの形式は、
                           変数 NRFNR を設定します。getline は、成功した入
                           力に対して 1 を返し、ファイルの終りに対して 0 を返
                           し、エラーに対して -1 を返します。

     getline [var]  <file  file から次のレコードを $0 に設定します。var が省略
                           されるなら、変数 $0NF が設定されます。そうでな
                           ければ、var が、設定されます。file ファイルがオープ
                           ンされていないなら、それは、オープンされます。スト
                           リームがオープンされ続けている限り、その後の呼び出
                           しは、file からその後のレコードを読み込みます。file
                           は、close() への呼び出しで明示的にクローズされるま
                           で、オープンされ続けます。

     system(cmd)           cmd を実行し、その終了ステータスを返します。

   ビット操作関数
     compl(x)      整数引数 x のビット単位の補集合 (complement) を返します。

     and(x, y)     整数引数 x と y でビット単位論理和 (AND) を実行します。

     or(x, y)      整数引数 x と y でビット単位論理和 (OR) を実行します。

     xor(x, y)     整数引数 x と y でビット単位の排他的論理和を実行します。

     lshift(x, n)  左に n ビットシフトされた整数引数 x を返します。

     rshift(x, n)  右に n ビットシフトされた整数引数 x を返します。

終了ステータス
     ユーティリティ awk は、成功すると 0 で、エラーがあった場合は >0 で終了し
     ます。

     しかし、exit 式は、終了ステータスを修正することができることに注意してくだ
     さい。

使用例
     72 文字より長い行を印刷 (表示) します:

           length($0) > 72

     逆の順序で最初の 2 つのフィールドを印刷 (表示) します:

           { print $2, $1 }

     同様に、コンマおよび空白とタブによって区切られる入力フィールドを印刷 (表
     示) します:

           BEGIN { FS = ",[ \t]*|[ \t]+" }
                 { print $2, $1 }

     最初のカラムを加算し、合計と平均を印刷 (表示) します:

           { s += $1 }
           END { print "sum is", s, " average is", s/NR }

     start と stop の間のすべての行を印刷 (表示) します:

           /start/, /stop/

     echo(1) をシミュレーションします:

           BEGIN { # Simulate echo(1)
                   for (i = 1; i < ARGC; i++) printf "%s ", ARGV[i]
                   printf "\n"
                   exit }

     標準エラーにエラーメッセージを印刷 (表示) します:

           { print "error!" > "/dev/stderr" }

関連項目
     cut(1), lex(1), printf(1), sed(1), re_format(7), script(7)

     A. V. Aho, B. W. Kernighan, and P. J. Weinberger, The AWK Programming
     Language, Addison-Wesley, 1988, ISBN 0-201-07981-X.

規格
     awk ユーティリティは、awk が {n,m} パターン照合をサポートしないことを除い
     て、IEEE Std 1003.1-2008 (``POSIX.1'') 仕様に準拠しています。

     コマンド fflush, compl, and, or, xor, lshift, rshift と同様にフラグ [-dV]
     と [-safe] は、その仕様の拡張です。

歴史
     awk ユーティリティは、Version 7 AT&T UNIX で登場しました。

バグ
     数値と文字列の間に明示的な変換はありません。式を強制的に数値として扱うた
     めには、それに 0 を足します。強制的に文字列として扱うためには、それに ""
     を連結 (concatenate) します。

     関数の変数のためのスコープ規則は、ひどいものです。構文は、もっと悪くなっ
     ています。

FreeBSD 11.2                     June 30, 2018                    FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索