SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
awkもいいけどTukubaiもね!
          Open usp Tukubaiを使おう


                         USP友の会 上田隆一




2012年4月21日     第3回 LINUX女子部勉強会
contents
●   0. 自己紹介
●   1. USP友の会の紹介
●   2. Tukubaiをシェルスクリプトで使い倒す
●   3. まとめ


              注:今回の資料は、昨年7月の第二回勉強会に訂正
              を入れたテイになってます。



2012年4月21日       第3回 LINUX女子部勉強会        2
0. 自己紹介
●   第2回Linux女子部勉強会でやらかした人(&絡まれた)




2012年4月21日    第3回 LINUX女子部勉強会   3
1. USP友の会
●   シェルスクリプト(CUI)のコミュニティー
     ●   USP: universal shell programming
●   会員数:もうすぐ200人
                          400
●   会の綱領
     ●   「本物の技術・本物の人」
     ●   「酒は呑め呑め呑むならば(嘘)」

                             bashで書き直した 派手なウェブサイト



    2012年4月21日            第3回 LINUX女子部勉強会   会社に移管   4
情報発信
●   イベント
     ●   4月22日(日):第七回 カーネル/VM探検隊で上田講演
         –   ・・・明日じゃねーかよ。
     ●   5月14日(月):TechLION vol.7 @ 名古屋 Geek Bar
         –   新東名を徒歩でどうぞ。
●   ネット・メディア
     ●   Twitter   @usptomo(残念な駄洒落のみ)
     ●   Facebook 「USP友の会」(イベント等の告知)
     ●   Software Design 誌連載「開眼シェルスクリプト」
    2012年4月21日         第3回 LINUX女子部勉強会            5
cat <<- FIN | sed 's/awk/Tukubai/g'
    2. awkをシェルスクリプトで使い倒す
●   ログなどの処理に便利なコマンド
●   awkをパイプでつなげてシェルスクリプトを書くと、
    かなりの種類の処理が可能になる。

 FIN

2012年4月21日     第3回 LINUX女子部勉強会          6
Open usp Tukubai
●   USP研究所の商用コマンドの一部を
    一般公開したもの

               ビジネス版               open版
 言語            C言語                 Python


 コーディング指針      極限まで                短く読みやすく
               チューニング


2012年4月21日       第3回 LINUX女子部勉強会             7
入手方法
●   GitHub
    ●   Open-usp-Tukubai で検索

●   Unicage engineers'
    communtyサイト
    ●   UEC Tukubai で検索

●   FreeBSDで使う
                                       https://uec.usp-lab.com
    ●   portsに入っています。
2012年4月21日           第3回 LINUX女子部勉強会                             8
とりあえず使ってみる
●   こんなファイル(FILE1という名前)
        a 100
        b 20
        c -10.4
●   コマンドを打つ(短い!)
    ●   cat FILE1 | self 1 (cat FILE1 | awk '{print $1}')
    ●   cat FILE1 | sm2 0 0 2 2
        (cat FILE1 | awk 'BEGIN{a=0}{a+=$2}END{print a}')

2012年4月21日                第3回 LINUX女子部勉強会                   9
お題A:表計算をやってみましょう
●   ファイル(FILEA)
              1 2 3
             0.1 0.2 0.3
              -1 -2 -3
●   横に足す
    ●   $ cat FILEA | ysum
           (cat hoge | awk '{print $1,$2,$3,$1+$2+$3}')
             1236
             0.1 0.2 0.3 0.6
             -1 -2 -3 -6

2012年4月21日                     第3回 LINUX女子部勉強会            10
●   書式を整える
     ●   $ cat FILEA | ysum | keta
              ($ cat hoge | awk '{sum=$1+$2+$3;print
              $0, sprintf("%010s",sum)}')
              1 2 3         6
             0.1 0.2 0.3   0.6
              -1 -2 -3      -6
 ●




2012年4月21日                 第3回 LINUX女子部勉強会         11
●   縦にも足してみましょう
    ●   $ cat FILEA | ysum | self 1 1/4 | sm5 1 1 2 5 | delf 1
        | keta
               (cat hoge | awk '{print $0,$1+$2+$3}' | awk '{for(i=1;i<=4;i++){a[i]
               +=$i};print}END{print a[1],a[2],a[3],a[4]}' | awk '{for(i=1;i<=NF;i++)
               {printf("%05s",$i)};printf("n")}')
               1 2 3 6
             0.1 0.2 0.3 0.6
              -1 -2 -3 -6
             0.1 0.2 0.3 0.6


2012年4月21日                      第3回 LINUX女子部勉強会                                    12
お題B: HTMLを作る
●    $ cat TEMPLATEB                        $ mojihame -lAA TEMPLATE FILEB
                                            <table>
         <table>                                 <tr>
         <!--AA-->                                       <td>1</td><td>2</td>
                                                         <td>3</td><td>6</td>
              <tr><td>%1</td><td>%2</td>         </tr>
              <td>%3</td><td>%4</td></tr>        <tr>
                                                         <td>0.1</td><td>0.2</td>
         <!--AA-->                                       <td>0.3</td><td>0.6</td>
         </table>                                </tr>
                                                 <tr>
●    $ cat FILEB                                         <td>-1</td><td>-2</td>
                                                         <td>-3</td><td>-6</td>
         1236                                    </tr>
         0.1 0.2 0.3 0.6                         <tr>
                                                         <td>0.1</td><td>0.2</td>
         -1 -2 -3 -6                                     <td>0.3</td><td>0.6</td>
         0.1 0.2 0.3 0.6                         </tr>
                                            </table>
     ●
    2012年4月21日                      第3回 LINUX女子部勉強会                                 13
お題C:CGIを書く
●   友の会サイトでもTukubaiが活躍(半日で作成)
    ●   コンテンツの表示、検索、タグ機能、
        閲覧回数のカウント・ランキング・・・




2012年4月21日      第3回 LINUX女子部勉強会   14
お題D:ログを集計してみましょう
●   集計してグラフを書く!(mojihame+svg)




2012年4月21日    第3回 LINUX女子部勉強会   15
3.まとめ
Tukubaiコマンドやawk
●   awk等、コマンドでテキストデータと戯れる
                          結構、派手
    ●   地味。腹筋なみに地味
    ●   パズルと思えばおもしろい
                      慣れるとテトリスのようになる

●   重要:とりあえずインストールして、
    一個だけ、使い方を覚えてください。
    ●   一個だけでも端末で仕事します。
    ●   han, zen, self, keta あたりがお勧め。

2012年4月21日           第3回 LINUX女子部勉強会    16

Weitere ähnliche Inhalte

Ähnlich wie Linux女子部勉強会 2012年4月21日

OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationOSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationRyuichi Ueda
 
120529 railsとか勉強会v2
120529 railsとか勉強会v2120529 railsとか勉強会v2
120529 railsとか勉強会v2Yoshiteru Toki
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会ko ty
 
pythonでオフィス快適化計画
pythonでオフィス快適化計画pythonでオフィス快適化計画
pythonでオフィス快適化計画Kazufumi Ohkawa
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)Hiroaki KOBAYASHI
 
データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今Shohei Yokoyama
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOKohei Noda
 
プログラマのための文書推薦入門
プログラマのための文書推薦入門プログラマのための文書推薦入門
プログラマのための文書推薦入門y-uti
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsNaoki Sega
 
ウェブから情報をあつめる
ウェブから情報をあつめるウェブから情報をあつめる
ウェブから情報をあつめるShuhei Iitsuka
 
20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/Spring20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/SpringRyuichi Ueda
 
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~nisobe58
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
第8回 天領倉敷 ScalaScala In Kurashiki 8
第8回 天領倉敷 ScalaScala In Kurashiki 8第8回 天領倉敷 ScalaScala In Kurashiki 8
第8回 天領倉敷 ScalaScala In Kurashiki 8NISHIMOTO Keisuke
 

Ähnlich wie Linux女子部勉強会 2012年4月21日 (20)

OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationOSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentation
 
about dakota6.7 gui
about dakota6.7 guiabout dakota6.7 gui
about dakota6.7 gui
 
120529 railsとか勉強会v2
120529 railsとか勉強会v2120529 railsとか勉強会v2
120529 railsとか勉強会v2
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会
 
pythonでオフィス快適化計画
pythonでオフィス快適化計画pythonでオフィス快適化計画
pythonでオフィス快適化計画
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
 
データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今
 
TwitterToDayOne
TwitterToDayOneTwitterToDayOne
TwitterToDayOne
 
about DakotagUI
about DakotagUIabout DakotagUI
about DakotagUI
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
 
Gorinphp0729
Gorinphp0729Gorinphp0729
Gorinphp0729
 
Gorinphp0729
Gorinphp0729Gorinphp0729
Gorinphp0729
 
プログラマのための文書推薦入門
プログラマのための文書推薦入門プログラマのための文書推薦入門
プログラマのための文書推薦入門
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
 
ウェブから情報をあつめる
ウェブから情報をあつめるウェブから情報をあつめる
ウェブから情報をあつめる
 
20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/Spring20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/Spring
 
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
第8回 天領倉敷 ScalaScala In Kurashiki 8
第8回 天領倉敷 ScalaScala In Kurashiki 8第8回 天領倉敷 ScalaScala In Kurashiki 8
第8回 天領倉敷 ScalaScala In Kurashiki 8
 

Mehr von Ryuichi Ueda

第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライドRyuichi Ueda
 
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックシェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックRyuichi Ueda
 
日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナーRyuichi Ueda
 
シェル芸勉強会と会場の話
シェル芸勉強会と会場の話シェル芸勉強会と会場の話
シェル芸勉強会と会場の話Ryuichi Ueda
 
移動ロボットのナビゲーション
移動ロボットのナビゲーション移動ロボットのナビゲーション
移動ロボットのナビゲーションRyuichi Ueda
 
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆Ryuichi Ueda
 
第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライドRyuichi Ueda
 
bash(の変な使い方)update
bash(の変な使い方)updatebash(の変な使い方)update
bash(の変な使い方)updateRyuichi Ueda
 
第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニングRyuichi Ueda
 
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Ryuichi Ueda
 
20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トークRyuichi Ueda
 
第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロRyuichi Ueda
 
シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習Ryuichi Ueda
 
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018Ryuichi Ueda
 
poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018Ryuichi Ueda
 
Robot frontier lesson3 2018
Robot frontier lesson3 2018Robot frontier lesson3 2018
Robot frontier lesson3 2018Ryuichi Ueda
 
Robot frontier lesson2 2018
Robot frontier lesson2 2018Robot frontier lesson2 2018
Robot frontier lesson2 2018Ryuichi Ueda
 
Robot frontier lesson1 2018
Robot frontier lesson1 2018Robot frontier lesson1 2018
Robot frontier lesson1 2018Ryuichi Ueda
 
第34回シェル芸勉強会
第34回シェル芸勉強会第34回シェル芸勉強会
第34回シェル芸勉強会Ryuichi Ueda
 
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」Ryuichi Ueda
 

Mehr von Ryuichi Ueda (20)

第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド
 
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックシェル・ワンライナー160本ノック
シェル・ワンライナー160本ノック
 
日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー
 
シェル芸勉強会と会場の話
シェル芸勉強会と会場の話シェル芸勉強会と会場の話
シェル芸勉強会と会場の話
 
移動ロボットのナビゲーション
移動ロボットのナビゲーション移動ロボットのナビゲーション
移動ロボットのナビゲーション
 
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
 
第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド
 
bash(の変な使い方)update
bash(の変な使い方)updatebash(の変な使い方)update
bash(の変な使い方)update
 
第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング
 
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
 
20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク
 
第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ
 
シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習
 
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
 
poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018
 
Robot frontier lesson3 2018
Robot frontier lesson3 2018Robot frontier lesson3 2018
Robot frontier lesson3 2018
 
Robot frontier lesson2 2018
Robot frontier lesson2 2018Robot frontier lesson2 2018
Robot frontier lesson2 2018
 
Robot frontier lesson1 2018
Robot frontier lesson1 2018Robot frontier lesson1 2018
Robot frontier lesson1 2018
 
第34回シェル芸勉強会
第34回シェル芸勉強会第34回シェル芸勉強会
第34回シェル芸勉強会
 
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
 

Kürzlich hochgeladen

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Kürzlich hochgeladen (7)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Linux女子部勉強会 2012年4月21日

  • 1. awkもいいけどTukubaiもね! Open usp Tukubaiを使おう USP友の会 上田隆一 2012年4月21日 第3回 LINUX女子部勉強会
  • 2. contents ● 0. 自己紹介 ● 1. USP友の会の紹介 ● 2. Tukubaiをシェルスクリプトで使い倒す ● 3. まとめ 注:今回の資料は、昨年7月の第二回勉強会に訂正 を入れたテイになってます。 2012年4月21日 第3回 LINUX女子部勉強会 2
  • 3. 0. 自己紹介 ● 第2回Linux女子部勉強会でやらかした人(&絡まれた) 2012年4月21日 第3回 LINUX女子部勉強会 3
  • 4. 1. USP友の会 ● シェルスクリプト(CUI)のコミュニティー ● USP: universal shell programming ● 会員数:もうすぐ200人 400 ● 会の綱領 ● 「本物の技術・本物の人」 ● 「酒は呑め呑め呑むならば(嘘)」 bashで書き直した 派手なウェブサイト 2012年4月21日 第3回 LINUX女子部勉強会 会社に移管 4
  • 5. 情報発信 ● イベント ● 4月22日(日):第七回 カーネル/VM探検隊で上田講演 – ・・・明日じゃねーかよ。 ● 5月14日(月):TechLION vol.7 @ 名古屋 Geek Bar – 新東名を徒歩でどうぞ。 ● ネット・メディア ● Twitter @usptomo(残念な駄洒落のみ) ● Facebook 「USP友の会」(イベント等の告知) ● Software Design 誌連載「開眼シェルスクリプト」 2012年4月21日 第3回 LINUX女子部勉強会 5
  • 6. cat <<- FIN | sed 's/awk/Tukubai/g' 2. awkをシェルスクリプトで使い倒す ● ログなどの処理に便利なコマンド ● awkをパイプでつなげてシェルスクリプトを書くと、 かなりの種類の処理が可能になる。 FIN 2012年4月21日 第3回 LINUX女子部勉強会 6
  • 7. Open usp Tukubai ● USP研究所の商用コマンドの一部を 一般公開したもの ビジネス版 open版 言語 C言語 Python コーディング指針 極限まで 短く読みやすく チューニング 2012年4月21日 第3回 LINUX女子部勉強会 7
  • 8. 入手方法 ● GitHub ● Open-usp-Tukubai で検索 ● Unicage engineers' communtyサイト ● UEC Tukubai で検索 ● FreeBSDで使う https://uec.usp-lab.com ● portsに入っています。 2012年4月21日 第3回 LINUX女子部勉強会 8
  • 9. とりあえず使ってみる ● こんなファイル(FILE1という名前) a 100 b 20 c -10.4 ● コマンドを打つ(短い!) ● cat FILE1 | self 1 (cat FILE1 | awk '{print $1}') ● cat FILE1 | sm2 0 0 2 2 (cat FILE1 | awk 'BEGIN{a=0}{a+=$2}END{print a}') 2012年4月21日 第3回 LINUX女子部勉強会 9
  • 10. お題A:表計算をやってみましょう ● ファイル(FILEA) 1 2 3 0.1 0.2 0.3 -1 -2 -3 ● 横に足す ● $ cat FILEA | ysum (cat hoge | awk '{print $1,$2,$3,$1+$2+$3}') 1236 0.1 0.2 0.3 0.6 -1 -2 -3 -6 2012年4月21日 第3回 LINUX女子部勉強会 10
  • 11. 書式を整える ● $ cat FILEA | ysum | keta ($ cat hoge | awk '{sum=$1+$2+$3;print $0, sprintf("%010s",sum)}') 1 2 3 6 0.1 0.2 0.3 0.6 -1 -2 -3 -6 ● 2012年4月21日 第3回 LINUX女子部勉強会 11
  • 12. 縦にも足してみましょう ● $ cat FILEA | ysum | self 1 1/4 | sm5 1 1 2 5 | delf 1 | keta (cat hoge | awk '{print $0,$1+$2+$3}' | awk '{for(i=1;i<=4;i++){a[i] +=$i};print}END{print a[1],a[2],a[3],a[4]}' | awk '{for(i=1;i<=NF;i++) {printf("%05s",$i)};printf("n")}') 1 2 3 6 0.1 0.2 0.3 0.6 -1 -2 -3 -6 0.1 0.2 0.3 0.6 2012年4月21日 第3回 LINUX女子部勉強会 12
  • 13. お題B: HTMLを作る ● $ cat TEMPLATEB $ mojihame -lAA TEMPLATE FILEB <table> <table> <tr> <!--AA--> <td>1</td><td>2</td> <td>3</td><td>6</td> <tr><td>%1</td><td>%2</td> </tr> <td>%3</td><td>%4</td></tr> <tr> <td>0.1</td><td>0.2</td> <!--AA--> <td>0.3</td><td>0.6</td> </table> </tr> <tr> ● $ cat FILEB <td>-1</td><td>-2</td> <td>-3</td><td>-6</td> 1236 </tr> 0.1 0.2 0.3 0.6 <tr> <td>0.1</td><td>0.2</td> -1 -2 -3 -6 <td>0.3</td><td>0.6</td> 0.1 0.2 0.3 0.6 </tr> </table> ● 2012年4月21日 第3回 LINUX女子部勉強会 13
  • 14. お題C:CGIを書く ● 友の会サイトでもTukubaiが活躍(半日で作成) ● コンテンツの表示、検索、タグ機能、 閲覧回数のカウント・ランキング・・・ 2012年4月21日 第3回 LINUX女子部勉強会 14
  • 15. お題D:ログを集計してみましょう ● 集計してグラフを書く!(mojihame+svg) 2012年4月21日 第3回 LINUX女子部勉強会 15
  • 16. 3.まとめ Tukubaiコマンドやawk ● awk等、コマンドでテキストデータと戯れる 結構、派手 ● 地味。腹筋なみに地味 ● パズルと思えばおもしろい 慣れるとテトリスのようになる ● 重要:とりあえずインストールして、 一個だけ、使い方を覚えてください。 ● 一個だけでも端末で仕事します。 ● han, zen, self, keta あたりがお勧め。 2012年4月21日 第3回 LINUX女子部勉強会 16