基本構文:
awk命令の基本フォーマットは次のとおりです。awk [パラメータ]< awkプログラム>ファイル名
awkプログラムの主な構造は、次のとおりです。pattern {action} < Br>
一般に、パターンとして「関係式」を使用します。たとえば、次のようになります。$ 1> 4、$ 2 == $ 3、" banana" ///(
一致判断関係、Aがストリング、Bが式A〜B(ストリングAにB式と一致するサブストリングが含まれているかどうかを判別); A!〜B(ストリングAがストリングであるかどうかを判別) B <式>に一致する部分文字列は含まれません。)
アクションには、主にawkのI /O命令:print、printf、getline、awkのフロー制御命令など、いくつかの命令が含まれます。 ){...} else {...}、do {...} while();
awkプログラムは、各入力行の各パターンに対して、一致するたびに一致検索を実行します。上記のモードでは、対応するアクションを実行してから、次の行を読み取り、すべての入力が処理されたことを確認してもう一度一致を開始します。
文中でパターンまたはアクションを省略することができますデフォルトのパターンはすべての行に一致するもので、デフォルトのアクションは現在の行を出力するものです。 Awkは入力から一度に1行(1レコード)読み込みます。デフォルトの行区切り文字は\\ nです。その後、awkはレコードをフィールドに分割し、デフォルトのフィールドは空白に分割します。行の最初のフィールドは$ 1で、その後に$ 2、$ 3 ...が続き、レコード全体が$ 0です。
Awkの組み込み変数。これらの変数を使用して、一般的な関連情報を取得できます。
NF(フィールド数):$ 0に含まれるフィールドを表す値番号
NR(レコード数):awkが読み込んだデータ行数を示す値。
FILENAME:処理中のデータファイルの名前。
詳細については、http://www.jiayii.com/awk-tutorial/を参照してください。
基本的な操作例:テストファイルtest.txt、内容は次のとおりです。
(空白は空白またはタブになることがあります)。 Johnのすべての成績証明書を入手するには、次のコマンドを使用します。
awk '/John /' test.txt(デフォルトでは、行全体が出力されます)
awk '/John /{print $ 0}' Test.txt
awk '$ 2 ==" John" {print $ 0}' test.txt(デフォルトは空白で区切られ、$ 2は各行の2番目のフィールドを表します)
Awk '$ 2〜/John /{print $ 0}' test.txt($ 2と正規表現/John /match)
2。 120を超えるスコアのトランスクリプトを取得します。
awk '$ 3> = 120' test.txt
3元のデータファイルが'、'で区切られている場合は、すべてのステートメントを区切りパラメータに追加できます。awk -F" /John /" test.txt(これは-Fの役割です)
BEGINとEND
パターンで使用できる2つの特別な形式のawk。プログラムに初期状態を与え、プログラムの終了後に実行するためのBEGINとENDを提供します。いくつかの仕上げ作業。 awkが入力のスキャンを開始する前にBEGINの後にリストされた操作が実行され、ENDの後にリストされた操作は全入力をスキャンした後に実行されます。したがって、BEGINは通常、変数と事前設定された初期値を表示するために使用され、ENDは最終結果を出力するために使用されます。
または上記の例:
Johnのスコアをすべて追加すると、使用可能なコマンドは次のようになります。
デフォルトの初期スコアは60で、ファイル内の結果は累積されます。
標準;使用時に初期化する必要はありません。
実際のアプリケーション配列も最も広く使用されていますが、各メンバーの合計スコアを計算するためのデータファイルとしてtest.txtを使用します。
実際のアプリケーション
私がawkを使うとき、私はしばしばオンラインからいくつかの統計情報を得ます、そして、しばしばこれらのログファイルは使われるとき非常に規則的ではありません。または他のコマンドがファイルを通常の出力に変換してから、処理にawkを使用します。
zh-CN"],null,[1],zh-TW"]]]
初心者のLinux(私もそうです)では、仮想マシンでLinuxを台無しにしたくない、そしてUbuntuをインストールするのにwubiを使用したくないこの比較的簡単なLinuxのインストールとインストー
Linuxシステムの正常な動作を保証し、さまざまなシステムの問題を正確に解決するためには、システム管理者がログファイルを注意深く読むことが非常に重要な作業です。この記事では、ログファイルとは何か、それ
を殺すことはできない psコマンドとgrepコマンドを使ってゾンビプロセスを見つけます。 Grep -e ^ [Zz]コマンドのコメント:-Aパラメータはすべてのプロセスを一覧表示します。-oカスタ
について話す同日、私の同僚は私のコンピュータで、envコマンドを使って操作手順を教えてくれました。まあ、私は文盲だと認めていますが、このコマンドが何をしているのかわかりません! ! !それは私の無知の