はawk、シェルを書いている友人が公開されると信じています。 AWKはテキストを扱うためのプログラミング言語ツールです。 AWKは非常に強力な機能を提供します。1.正規表現と一致することができます2.スタイルローディング3.フロー制御4.数学演算子5.プロセス制御ステートメント6.組み込み変数と関数
awkを完全なプログラミング言語と考えると、テキストの処理速度は驚くほど速いです。これを行うために、多くのシェルベースのログ分析ツールを使用できるようになりました。デザインはシンプルでスピードはとても良いです。上記の6つの側面については、今後の記事で紹介します。今回は、主に、awk実行文に外部変数を渡す方法を説明します。
まず基本を以下に示します。
awk [-F re] [パラメータ...] ['pattern {action}'] [-f progfile] [in_file]。 ..]
awkの一般的な構文は上記のとおりです。
如:
[chengmo @ localhost〜] $ echo 'awk code' |
Awk 'BEGIN {印刷"開始\\ n ================= {印刷$ 0} END {印刷" ========= \\ nend"}'開始========================================================================== awkの2つの特別な表現、BEGINおよびEND (前のawkの構文を参照してください。)BEGINとENDの役割は、プログラムに初期状態を与え、プログラムの終了後にテールテーリング作業を実行することです。 BEGINの後({}内)にリストされている操作はすべて、awkが入力のスキャンを開始する前に実行され、ENDの後にリストされている操作は、全入力をスキャンした後に実行されます。したがって、BEGINは通常、変数の表示と変数の事前設定(初期化)に使用され、ENDは最終結果の出力に使用されます。
次に、外部変数メソッドを取得します。
1、通常の外部変数を取得します。
[chengmo @ localhost〜] $ test = 'awk code' [ ,null,null,3],Chengmo @ localhost〜] $ echo |
Awk '{print test}' test =" $ test" awkコード[chengmo @ localhost〜] $ echo |
Awk test =" $ test" '{print test}' awk:cmd。行:1:fatal:ファイル `{print test} 'を読み込むことができません(そのようなファイルまたはディレクトリはありません)
:awk‘ {action}’変数名=変数値のような形式で、変数をアクションに渡すことができます。注:変数名と値は’ {action}’の後に配置されます。
[chengmo @ localhost〜] $ echo |
Awk 'BEGIN {print test}' test =" $ test>
この変数はBEGINアクションには使用できません。
2.BEGINプログラムブロック内の変数
[chengmo @ localhost〜] $ test = 'awkコード' [chengmo @ localhost〜] $ echo |
Awk -v test =" $ test" 'BEGIN {print test}' awkコード[chengmo @ localhost〜] $ echo |
Awk -v test =" $ test" '{print test}' awkコード
形式は、次のとおりです。awk&nd; v変数名=変数値[– v変数2 =値] 2…] 'BEGIN {action}’注:-vを使用して変数を渡すことは、タイプ3のアクションでは可能ですが、アクションの前の順序で可能です。
3.環境変数の取得
[chengmo @ localhost〜] $ awk 'BEGIN {for(i in ENVIRON){print i" =" ENVIRON [i AWKPATH =。:/usr /share /awkSSH_ASKPASS = /usr /libexec /openssh /gnome-ssh-askpassSELINUX_LEVEL_REQUESTED = SELINUX_ROLE_REQUESTED = LANG = en_US.UTF-8 .......
呼び出す必要があるのは:awk組み込み変数ENVIRONです。環境変数を直接取得できます。それは辞書の配列です。環境変数名はそのキー値です。
ここでは、Linuxのコマンドを使用してハードディスクの読み書き入力をテストする方法について説明します(サーバーのセットアップ時およびサーバーの購入時に使用します)。 。 メインコマンド ここで使用
最近、Linux管理者が作者に助けを求めました。彼は、彼らがLinuxオペレーティングシステムにOracle 10Gデータベースシステムを展開したと言いました。現在、彼らはデータベースシステムのデータ
現在、非常に深刻なBashの脆弱性がインターネット上に公開されており、ハッカーがリモートコマンドをサーバーに送信して個人情報を盗むことを容易に可能にします。記事はあ
統計カウンターの統計によると、3月のグローバルオペレーティングシステムの市場シェアは依然としてWin7です。 グローバルオペレーティングシステムのマーケットシェア統計チャート先月と比較して、Win