Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Usptomonokai 20111028

1,045 views

Published on

  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Usptomonokai 20111028

  1. 1. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)AWKAWK ででででででででアクションレスアクションレスアクションレスアクションレスアクションレスアクションレスアクションレスアクションレス・・・・・・・・プログラミングプログラミングプログラミングプログラミングプログラミングプログラミングプログラミングプログラミング日本 GNU AWK ユーザー会斉藤 博文 (@hi_saito)
  2. 2. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)AWKAWK のののの基本文法基本文法基本文法基本文法のののの基本文法基本文法基本文法基本文法BEGIN { ACTION }PATTERN { ACTION }END { ACTION }Point!• BEGIN や END も同じ PATTERN と考えると分かりやすいね• ついでに K&R スタイルで書くと統一感が出るね
  3. 3. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)K&RK&R スタイルスタイルスタイルスタイルってってってって何何何何スタイルスタイルスタイルスタイルってってってって何何何何??if (なんとかなんとかなんとかなんとか){かんとかかんとかかんとかかんとか;}if (なんとかなんとかなんとかなんとか) {かんとかかんとかかんとかかんとか;}オールドマンスタイルオールドマンスタイルオールドマンスタイルオールドマンスタイルオールドマンスタイルオールドマンスタイルオールドマンスタイルオールドマンスタイルK&RK&R スタイルスタイルスタイルスタイルスタイルスタイルスタイルスタイル
  4. 4. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)パターンパターンパターンパターンはははは不要不要不要不要パターンパターンパターンパターンはははは不要不要不要不要??PATTERN { ACTION }{if (PATTERN) {ACTION;}}Point!• パターンは先頭になくてもプログラムを組めるんです
  5. 5. gauc.no-ip.orgUSP 友の会総会 (2011/10/28)神神神神々々々々のののの言葉言葉言葉言葉神神神神々々々々のののの言葉言葉言葉言葉•神は言っている「awk は使い捨てプログラムである」と• We just wanted to have a very simplescripting language that would allow us<snip> to be able to write throw-awayprograms for routine data processing.(Prof. Aho)Point!• awk が真価を発揮するのは「一行野郎」• AWKer はワンライナーとかライフライナーみたいな言葉は使ってはいけないJapan GNU AWK Users Club
  6. 6. gauc.no-ip.orgUSP 友の会総会 (2011/10/28)PATTERNPATTERN だけだとどうなるだけだとどうなるだけだとどうなるだけだとどうなるだけだとどうなるだけだとどうなるだけだとどうなるだけだとどうなる??• { ACTION } が省略された場合、{print $0} と同じ扱いになるJapan GNU AWK Users ClubPATTERNPATTERN ってってってって一体何者一体何者一体何者一体何者ってってってって一体何者一体何者一体何者一体何者??• PATTERN は「パターン」そのものではなく評価式で、0 か空文字列以外は「真」になり、{print $0} が実行されるPoint!• ちょっと便利な grep 程度?
  7. 7. gauc.no-ip.orgUSP 友の会総会 (2011/10/28)神神神神々々々々のののの言葉言葉言葉言葉神神神神々々々々のののの言葉言葉言葉言葉•神は言っている「awk は grep から産まれた」と。• We were heavily influenced by GREP.(Prof. Aho)Japan GNU AWK Users ClubPoint!• そんな装備で大丈夫か?• 大丈夫。問題ない。
  8. 8. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)正規表現正規表現正規表現正規表現へのへのへのへの正規表現正規表現正規表現正規表現へのへのへのへのマッチングマッチングマッチングマッチングマッチングマッチングマッチングマッチング ((grepgrep))$0 ~ /RegExp/ {print $0}Point!• g/re/p の g と p は {print $0} と等価なので、まさに grep$0 ~ /RegExp//RegExp/
  9. 9. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)空行空行空行空行ととととスペーススペーススペーススペースだけのだけのだけのだけの行行行行をををを削除削除削除削除空行空行空行空行ととととスペーススペーススペーススペースだけのだけのだけのだけの行行行行をををを削除削除削除削除length($0) > 0 && $0 !~ /^[ ¥t]+$/{print $0}length($0) > 0 && $0 !~ /^[ ¥t]+$/length($0) && !/^[ ¥t]+$/NF
  10. 10. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)$0$0 以外以外以外以外をををを表示表示表示表示するするするする場合場合場合場合はははは以外以外以外以外をををを表示表示表示表示するするするする場合場合場合場合はははは??• AWK は破壊的に値が代入される• 常に代入は「真」になる• つまり $0 に欲しいものを代入すればいい
  11. 11. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)$1$1 をををを表示表示表示表示するするするするをををを表示表示表示表示するするするする{print $1}{$0 = $1; print $0}$0 = $1
  12. 12. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)置換置換置換置換だってできちゃうだってできちゃうだってできちゃうだってできちゃう置換置換置換置換だってできちゃうだってできちゃうだってできちゃうだってできちゃう{sub(/RegExp/, "STR", $0); print $0}sub(/RegExp/, "STR") || 4Point!• sub() の戻り値は置換された個数• 1 だと l なのか | なのか I なのか分かりづらいので 4 が好まれるみたい
  13. 13. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)区切区切区切区切区切区切区切区切 (OFS)(OFS) をををを表示表示表示表示するするするするをををを表示表示表示表示するするするするBEGIN {OFS="¥t"} {print $1}$ awk -v OFS="¥t"{$1 = $1; print $0}$ awk -v OFS="¥t" $1 = $1Point!• これを「フィールドの再構成」といいます
  14. 14. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)改行改行改行改行改行改行改行改行 (ORS)(ORS) をををを変更変更変更変更するにはするにはするにはするにはをををを変更変更変更変更するにはするにはするにはするには??BEGIN {OFS = "¥n¥n"} {print $0}BEGIN {OFS = "¥n¥n"} 4Point!• print $0 は printf("%sOFS", $0) なので、再構成が不要ORS = "¥n¥n"
  15. 15. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)みんなみんなみんなみんな大好大好大好大好ききききみんなみんなみんなみんな大好大好大好大好きききき FizzBuzzFizzBuzz$ seq 100 | ¥awk$0=($0%15)?($0%5)?($0%3)?$0:"Fizz":"Buzz":"FizzBuzz"
  16. 16. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)head, tailhead, tail はははははははは??NR <= 10headhead$ tac | awk NR <= 10 | tactailtailPoint!• そもそも awk で tail なんか作ってはいけない• shell と awk を合わせて活用すべし
  17. 17. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)まとめまとめまとめまとめまとめまとめまとめまとめ• 資源の有効活用 (エコ活動)• 頭の体操になる (ボケ防止)• awk だけで記述できない (Shell の勉強もできる)• さぁ、みんなも今日からアクションレス・プログラミングをしよう!
  18. 18. Japan GNU AWK Users Club gauc.no-ip.orgUSP 友の会総会 (2011/10/28)最後最後最後最後にににに最後最後最後最後にににに• 「日本 GNU AWK ユーザー会」は「USP 友の会」と友好団体になります?• Shell と awk の融合による無限の可能性に乞ご期待?• http://gauc.no-ip.org/gawk-users-jp/Point!• ただし「日本 GNU AWK ユーザー会」と契約しても魔法少女にはなれません

×