awkスクリプトのループフィルタ

#!/ binに/ bashの
コンテンツ#プログレッシブ一致するファイル、出力
#$ 1
ファイルリスト.scv $ 3ファイルをフィルタリングした後、エクスポートする$ 2のコンソールでのEPC検査警報コンテンツファイルのメッセージを保存する名前
IF [$#-ne 3 ]; その後、
    エコー " USAGE UTF-8:$ 0 <EPC検査警報コンテンツファイル内のメッセージ> <エクスポートされたEPCリストファイル> <ファイル名フィルタを保存する> " 
    出口
Fiを利用

するために SN  $(awkの ' {。プリント$ 5} ' $ 1 DO  -F定義された区切りシェル変数' '変数名'  
       のawk -F ' |' '   ' /' ' $ SN ' "。/ {印刷$ 1 、$ 4 $ 6} "   $ 2 >>$ 3 
    完了
search_count = `awkの ' {$ 5印刷} ' $ 1 | トイレ - 'L 
find_count = `  $ 3 | トイレ - 'L'
 であれば [$ search_count -eq $ find_count]。その後、
    エコー -e " \ 033 [32; 1mAll検索は合計、見つかった:$ {search_count} $ 3 \ 033 [0メートルを参照してくださいしてください" 

    エコー -e " \ 033 [31; 1mSearchは$ {search_countを}カウント; $ {find_count}が見つかりました$ 3 \ 033 [0メートルを参照してくださいしてください
Fiを提供して

いくつかの方法がシェルawkの変数を引用し============================

: " '$のVAR'"

我々は変更せずに、このようなアプローチを使用し「囲まれたawkプログラムのダイエットを、外国人は一般的に書かれている通り。

VAR = " テスト" 
awkは ' { "印刷BEGIN ' $ VARを' "} '

実際には言葉遣い、単一引用符単一引用符二つの部分、中央に直接に従い、シェル変数シェル変数への参照が、場合varはスペースを含む、注文にシェルスペースを壊さないよう判決を下し、それが必要次のように使用

= VAR Thisis Aテスト

AWK  BEGIN {印刷「」」$するvar 「「」}      (すなわち、シェル変数の両側に二重引用符の組と組み合わせることができます)

:輸出変数使用ENVIRON [「VAR」]の形式は、(ENVIRONがされた変数が配列をawkの環境で構築されました

以下のような:                                                                     

VAR = " thisis試験" ;輸出$するvar 

AWK  ' {ENVIRON [ "VAR"を】印刷} BEGIN '

:あなたも使用することができます。もちろん、-vオプションを

以下のような

VAR = " thisisテスト" 
のawk -v NVAR = " $ varが"   ' {印刷NVARを} BEGIN '

このようなシステムは、変数の定義はなった入れawkの変数

このフォーマットである場合、AWK AWK「スクリプト」ファイル名のシェルは、可変ような基準であってもよいです

awkの ' スクリプト' awkvar = " shellvar " ファイル名
 awkの ' END {印刷awkvar} ' awkvar = " $ shellvar "ファイル名

============ awkの参照が変数ENDシェル=================

おすすめ

転載: www.cnblogs.com/zhangmingda/p/12455216.html