1.複数のファイルの例を扱うAWKを書きます
最初のフィールドを印刷する最初のファイル、第二のファイルを印刷の2番目のフィールド
この方法の一つ:
#/ binに/!bashの セット - X ファイル1 = $(PWD)" / KK1 " FILE2 = $(PWD)" / KK2 " のawk -F ' ' " { 場合(FILENAME == ARGV [ 1 ]){ $印刷1 ; } 他{ $印刷2 。 } } " $ FILE1 FILE2 $
方法2:
#!/ binに/ bashのの セット - X ファイル1 = $(PWD)" / KK1 " FILE2 = $(PWD)" / KK2 " : << EOF のawk -F ' ' " { 場合(FILENAME == ARGV [ 1 ]) { $印刷1 。 } 他{ $印刷2 。 } } ' $ FILE1 $ file2の EOF のawk -F ' ' '{ 場合(NR == FNR){ $印刷1 。 } エルス{ $印刷2 。 } } " $ File1の$ file2を
2.AWK重要定数
コマンドライン引数の数ARGC ARGVコマンドライン引数に配置 FILENAMEのawkは、ファイル名ブラウズ 行数をブラウズファイル(設定値である複数のファイルを、新しいカウント開始)FNR レコードの数は、NR(Sファイルを読むとき、値が連続的に一ないように設定することによりインクリメントされる) ドメインNF閲覧履歴の数(各列内の行の数) コマンドラインに相当するFS設定入力フィールドセパレータ、 - F.オプション OFS出力フィールドセパレータ ORS出力レコード区切り RSは、入力レコードセパレータをコントロール 使用してENVIRONサポートキューシステム環境変数 $ 0はレコード全体の変数を参照します。$ 1など......、$ 2は、現在の行の2番目のフィールドを表し、現在の行の最初のフィールドを表します。 $ NFは、変数NFとの最後の1を示す情報が、異なっている、多数の最後にある、変数NFは、ランクごとの統計情報の合計数です
出力フォーマッタを指定します。
1#!/ binに/ bashの 2セット- X 3 FILE1 = $(PWD)" / KK1 " 4 FILE2 = $(PWD)" / KK2 " 5 6 AWKの -F ' ' BEGIN ' { 7つの = OFS " \ tの" 8 } 9 { 10 であれば(NR == FNR){ 11 プリント$ 1 。 12 } 他{ 13 $印刷2 。 14 } 15 プリントNR、FNR、NF。 16 } " $ FILE1 FILE2 $
#!/ binに/ bashのの セット - X ファイル1 = $ 1 ファイル2 = $ 2 猫の$ FILE1の awkの -F ' ' " {BEGIN OFS = " \ tを" 。 } { 場合(FILENAME == ARGV [ 1 ]){ ARR [$ 1 ] $ = 1 。 } 他{ 場合($ 1 でARR){ GSUB( / \ $ \ $ /、" "、$2 )。 LEN = スプリット($ 2、BRR、" " ) のために(i = 0 ; iが<= LEN; iは++ ) { 印刷BRR [I]。 } $印刷1、$ 2 。 } } } END { #ため(E でARR){ #印刷E。 #} } " $ FILE1 FILE2 $
二重引用符でコンテンツのPS .AWK単一引用符
3.AWK内蔵の共通機能