Awkコマンド

  

1.awkのワークフロー
a)最初にBEGINを実行する; b)/n改行でレコードを読むc)指定されたドメイン区切り文字でレコードを分割するd)パディングフィールド。$ 0はすべてのフィールドを意味し、$ 1は最初のフィールドを意味し、$ nは最初のフィールドを意味します(デフォルトのフィールドセパレータは空白キーまたはタブキーです)。e)実行モード開始アクションfに対応するアクションすべてのレコードが読み込まれるまで2番目のレコードを読み込みます。g)END操作を実行します。

2.メソッドawk [-F field-separator] '{パターン+アクション}' {ファイル名}を使用します。パターンはawkがデータ内で探すものを表し、actionは一致が見つかったときに実行される一連のコマンドを表します。アクション{}は";"で区切られた複数のステートメントを持つことができます。 2. [-F field separator]はオプションです。ファイル名は処理されるファイルです。 awkでは、ファイルの各行において、ドメイン区切り文字で区切られた各項目はフィールドと呼ばれます。通常、名前のない-Fドメイン区切り文字の場合、デフォルトのドメイン区切り文字はスペースです。

3.awk組み込み変数
ARGCコマンドラインパラメータ番号ARGVコマンドラインパラメータの配置ENVIRONサポートキューシステム環境変数使用FILENAME awkブラウズファイル名FNRブラウズファイルレコード番号FS設定入力フィールドセパレータコマンドラインと同じです。-FオプションNFレコード内のフィールド数を参照します。NR読み取りレコード数OFS出力フィールド区切り記号ORS出力レコード区切り記号RS制御レコード区切り記号

4.awk組み込み文字列関数
Gsub(r、s)は、$ 0全体でrgsub(r、s、t)をsに置き換え、t全体でrindex(s、t)をsに置き換えますs length(s)内の文字列tの最初の位置を返しますLength match(s、r)sにr(sp、array、fs)と一致する文字列が含まれているかどうかをテストしますssでは、fmtのフォーマット後、sをasprint(fmt、exp)のシーケンスに分割し、expsub(r、s)を返します。 shsubt(s、p)を$ 0の一番左の部分文字列sで置き換え、pからsubstr(s、p、n)までの文字列sのサフィックス部分を返し、pから始まり長さnの文字列sのサフィックス部分を返します。

5.BEGINとEND
BEGINは、任意の行を処理する前の操作ENDが、すべての入力行が処理された後に実行される処理を示すことを示します。

6.条件文
<前> if(expression){statement; statement; ... ...} if(expression){statement;} else {statement2;} if(expression){statement1;}そうでなければif(expression1){statement2;} else {statement3;}

7. Array
配列の添字は数字や文字にすることができるので、配列の添字はしばしばキーと呼ばれます。値とキーワードの両方が、キー/値アプリケーションハッシュ用の別のテーブルに格納されています。ハッシュは順番に格納されないため、配列の内容を表示すると、期待した順序で表示されないことがわかります。変数のような配列は、使用時に自動的に作成されますまた、Awkは自動的に数値を格納するのか文字列を格納するのかも決定します。一般に、awkの配列はレコードから情報を収集するために使用されます。これは、合計の計算、単語のカウント、および追跡テンプレートの一致回数に使用できます。

 awk -F ':' 'BEGIN {count = 0;} {name [count] = $ 1; count ++;}; END {(i = 0; i 
Copyright © Windowsの知識 All Rights Reserved