awk

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
awk [2016/05/18 14:01] mumeiyamibitoawk [2018/03/13 16:46] (現在) – [シェル変数をパターンとして引き渡す] mumeiyamibito
行 114: 行 114:
 } }
 </code>Hello を 3 回出力 </code>Hello を 3 回出力
- 
-==== その他 ==== 
-  * 改行 
-    * 複数行を1行にしたい(ワンライナー)場合、「;」が改行の代わりになる 
  
 ==== よく使う関数 ==== ==== よく使う関数 ====
行 140: 行 136:
   * length\\ <code>length(配列)</code>   * length\\ <code>length(配列)</code>
     * 文字列や配列の長さを出力     * 文字列や配列の長さを出力
 +
 +==== その他 ====
 +  * 改行
 +    * 複数行を1行にしたい(ワンライナー)場合、「;」が改行の代わりになる
  
 ===== awk プログラムの例 ===== ===== awk プログラムの例 =====
行 171: 行 171:
 $ awk 'BEGIN{total = 0; count = 0} $0!~/^#/{total += $2; count ++} END{average = total / count; print "Total: " total; print "Average: " average}' $ awk 'BEGIN{total = 0; count = 0} $0!~/^#/{total += $2; count ++} END{average = total / count; print "Total: " total; print "Average: " average}'
 </code> </code>
 +
 +===== Tips =====
 +==== シェル変数をパターンとして引き渡す ====
 +  * ''-v'' オプションで変数を渡しつつ、''$0 ~ VAR'' でマッチさせる\\ <code bash>$ awk -v VAR '$0 ~ VAR{print $0}' FILE</code>
 +    * ''VAR'' は変数名
 +    * ''FILE'' は処理するファイル名
 +  * 参考サイト: [[https://stackoverflow.com/questions/39384283/how-to-match-a-pattern-given-in-a-variable-in-awk | regex - How to match a pattern given in a variable in awk? - Stack Overflow]]
 +
  
 ===== 参考サイト ===== ===== 参考サイト =====
行 177: 行 185:
   * [[http://www.techscore.com/blog/2012/11/19/%E3%81%82%E3%81%88%E3%81%A6%E8%A8%80%E3%81%86%E3%81%BB%E3%81%A9%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%91%E3%82%8C%E3%81%A9%E3%82%82%E3%80%81awk%E3%81%AE%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87/ | » あえて言うほどではないけれども、awkの区切り文字について TECHSCORE BLOG]] 区切り文字   * [[http://www.techscore.com/blog/2012/11/19/%E3%81%82%E3%81%88%E3%81%A6%E8%A8%80%E3%81%86%E3%81%BB%E3%81%A9%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%91%E3%82%8C%E3%81%A9%E3%82%82%E3%80%81awk%E3%81%AE%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87/ | » あえて言うほどではないけれども、awkの区切り文字について TECHSCORE BLOG]] 区切り文字
   * [[http://itdoc.hitachi.co.jp/manuals/3020/30203S3530/JPAS0241.HTM | awkコマンド(テキストの加工やパターン処理をする)]]   * [[http://itdoc.hitachi.co.jp/manuals/3020/30203S3530/JPAS0241.HTM | awkコマンド(テキストの加工やパターン処理をする)]]
 +  * [[http://shellscript.sunone.me/awk.html | AWK リファレンス | UNIX & Linux コマンド・シェルスクリプト リファレンス]]
  
 +{{tag>プログラミング コマンド}}
  • awk.1463547683.txt.gz
  • 最終更新: 2016/05/18 14:01
  • by mumeiyamibito