Submit Search
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
10 likes
15,054 views
Ryuichi Ueda
2013年8月24日、LLまつりにて行ったチュートリアル。いつもより難しめの問題。
Technology
Read more
1 of 26
Download now
Downloaded 30 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
More Related Content
PPTX
EPI – Trabalho em Altura (NR 35)
HugoDalevedove
PDF
Posto de Combustível Siga Bem
Marco Coghi
PDF
34[1]brincos e pulseiras
Robson Peixoto
PDF
Laudo da serra circular b 100
Eng. César Guimarães
PPTX
apr - operador de caminhao munck.pptx.02
Talmom Taciano
PDF
Baterias de Empilhadores - Eng Orlando Santos
EngOrlandoSantos
PDF
Treinamento em trabalho em altura e prevenção de quedas
Alexandre Roque
PPTX
Curso CIPA Segurança do Trabalho nwn.pptx
SabrinaSilva256022
EPI – Trabalho em Altura (NR 35)
HugoDalevedove
Posto de Combustível Siga Bem
Marco Coghi
34[1]brincos e pulseiras
Robson Peixoto
Laudo da serra circular b 100
Eng. César Guimarães
apr - operador de caminhao munck.pptx.02
Talmom Taciano
Baterias de Empilhadores - Eng Orlando Santos
EngOrlandoSantos
Treinamento em trabalho em altura e prevenção de quedas
Alexandre Roque
Curso CIPA Segurança do Trabalho nwn.pptx
SabrinaSilva256022
What's hot
(20)
PPTX
NR 34,5.pptx
DouglasRegino1
PPT
Ts 1148-007-treinamento para operadores de retro escavadeira
Biela_123456
PPTX
Trabalho em altura NR-35 - 8 horas
Márcio Roberto de Mattos
PDF
SOLDADOR - SENAI.pdf
AbnerPEREIRADASILVA
PPTX
373122257-TREINAMENTO-DE-TALHA hoje.pptx
GutembergRodrigues7
PDF
APR - ANÁLISE PRELIMINAR DE RISCOS Revisão_ 00 29_08_2014 Atividade Perigo Ca...
AndrSantos687125
DOCX
APR - TRABALHO EM ALTURA COM USO DE PTA - bertolini.docx
RodrigoWillian7
PDF
Apr analise preliminar de risco igo
João Neto
DOC
10 manual segurança no trabalho
Ricardo Akerman
PPTX
NR 12
NewAge16
PDF
Ficha inspeção lingas de corrente aricabos
Gustavo Cassiolato
PPT
TREINAMENTO DE NR 20 - OFICIAL - Rev.02.2019.ppt
FabioSouza270
DOC
Apr acabamento obra
Leicy Rosa
PPT
Treinamento nr 35
JULIO CESAR TORRES
PPT
Cipa Arvore De Causas
Alessandro Silva
PDF
Call Center SESI
Marco Coghi
PDF
Linha de-vida-oara-caminhões
Gabriela Coelho Monteiro
PDF
APOSTILA NR 35 2022.pdf
Kaymir Freitas
DOCX
APR - Instalações Elétricas..docx
ARTHURDeoliveiraNeto
PPT
Conteúdo de aula nr33
Gilberto Bispo das Neves
NR 34,5.pptx
DouglasRegino1
Ts 1148-007-treinamento para operadores de retro escavadeira
Biela_123456
Trabalho em altura NR-35 - 8 horas
Márcio Roberto de Mattos
SOLDADOR - SENAI.pdf
AbnerPEREIRADASILVA
373122257-TREINAMENTO-DE-TALHA hoje.pptx
GutembergRodrigues7
APR - ANÁLISE PRELIMINAR DE RISCOS Revisão_ 00 29_08_2014 Atividade Perigo Ca...
AndrSantos687125
APR - TRABALHO EM ALTURA COM USO DE PTA - bertolini.docx
RodrigoWillian7
Apr analise preliminar de risco igo
João Neto
10 manual segurança no trabalho
Ricardo Akerman
NR 12
NewAge16
Ficha inspeção lingas de corrente aricabos
Gustavo Cassiolato
TREINAMENTO DE NR 20 - OFICIAL - Rev.02.2019.ppt
FabioSouza270
Apr acabamento obra
Leicy Rosa
Treinamento nr 35
JULIO CESAR TORRES
Cipa Arvore De Causas
Alessandro Silva
Call Center SESI
Marco Coghi
Linha de-vida-oara-caminhões
Gabriela Coelho Monteiro
APOSTILA NR 35 2022.pdf
Kaymir Freitas
APR - Instalações Elétricas..docx
ARTHURDeoliveiraNeto
Conteúdo de aula nr33
Gilberto Bispo das Neves
Ad
Viewers also liked
(10)
PDF
20130622第5回シェル芸勉強会スライド
Ryuichi Ueda
PDF
20130223 OSC Tokyo/Spring
Ryuichi Ueda
PDF
Uspstudy20121208qonly
Ryuichi Ueda
PDF
20130216 シェル芸爆破デスマッチ勉強会
Ryuichi Ueda
PDF
20130413シェル芸勉強会スライド
Ryuichi Ueda
PDF
20131222 第8回シェル芸勉強会スライド
Ryuichi Ueda
PDF
20131102 第7回シェル芸勉強会
Ryuichi Ueda
PDF
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
Ryuichi Ueda
PPTX
第31回シェル芸勉強会スライド
Ryuichi Ueda
PDF
2012年10月27日 Hbstudy#38
Ryuichi Ueda
20130622第5回シェル芸勉強会スライド
Ryuichi Ueda
20130223 OSC Tokyo/Spring
Ryuichi Ueda
Uspstudy20121208qonly
Ryuichi Ueda
20130216 シェル芸爆破デスマッチ勉強会
Ryuichi Ueda
20130413シェル芸勉強会スライド
Ryuichi Ueda
20131222 第8回シェル芸勉強会スライド
Ryuichi Ueda
20131102 第7回シェル芸勉強会
Ryuichi Ueda
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
Ryuichi Ueda
第31回シェル芸勉強会スライド
Ryuichi Ueda
2012年10月27日 Hbstudy#38
Ryuichi Ueda
Ad
Similar to 20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
(20)
PDF
20130824LLまつりシェル芸勉強会問題集
Ryuichi Ueda
PDF
Linux女子部第二回勉強会usp友の会
Ryuichi Ueda
PDF
Uspstudy20121208
Ryuichi Ueda
PDF
シェル芸初心者によるシェル芸入門
icchy
PDF
シェル芸初心者によるシェル芸入門 (修正版)
icchy
PDF
20171223 シェル芸勉強会in大都会
kunst1080
PPTX
シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
博文 斉藤
PPTX
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
博文 斉藤
PDF
awk v.s. bashどっちが強い?@OSC2011Tokyo
Ryuichi Ueda
PPTX
20150201 シェル芸勉強会LT GlueLangについて(シェル書いてますが何か?)
Ryuichi Ueda
PDF
初心者向けシェル芸勉強会
Katsuya Tashiro
PDF
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
Hisatoshi Onishi
PDF
20140614 【問題だけスライド】jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
Ryuichi Ueda
PDF
Oneliner
NNCT programming study group
PDF
Linux女子部勉強会 2012年4月21日
Ryuichi Ueda
PPTX
第22回シェル芸勉強会イントロ
Katsuya Tashiro
PPTX
第34回シェル芸勉強会
Ryuichi Ueda
PPTX
難読化シェル芸
xztaityozx
PPTX
USP 友の会 LT 資料 20130413
博文 斉藤
PDF
2015.08.29 JUS共催勉強会資料
umidori
20130824LLまつりシェル芸勉強会問題集
Ryuichi Ueda
Linux女子部第二回勉強会usp友の会
Ryuichi Ueda
Uspstudy20121208
Ryuichi Ueda
シェル芸初心者によるシェル芸入門
icchy
シェル芸初心者によるシェル芸入門 (修正版)
icchy
20171223 シェル芸勉強会in大都会
kunst1080
シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
博文 斉藤
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
博文 斉藤
awk v.s. bashどっちが強い?@OSC2011Tokyo
Ryuichi Ueda
20150201 シェル芸勉強会LT GlueLangについて(シェル書いてますが何か?)
Ryuichi Ueda
初心者向けシェル芸勉強会
Katsuya Tashiro
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
Hisatoshi Onishi
20140614 【問題だけスライド】jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
Ryuichi Ueda
Oneliner
NNCT programming study group
Linux女子部勉強会 2012年4月21日
Ryuichi Ueda
第22回シェル芸勉強会イントロ
Katsuya Tashiro
第34回シェル芸勉強会
Ryuichi Ueda
難読化シェル芸
xztaityozx
USP 友の会 LT 資料 20130413
博文 斉藤
2015.08.29 JUS共催勉強会資料
umidori
More from Ryuichi Ueda
(20)
PPTX
第27回ロボティクスシンポジアスライド
Ryuichi Ueda
PPTX
シェル・ワンライナー160本ノック
Ryuichi Ueda
PPTX
日本ロボット学会第139回ロボット工学セミナー
Ryuichi Ueda
PPTX
シェル芸勉強会と会場の話
Ryuichi Ueda
PPTX
移動ロボットのナビゲーション
Ryuichi Ueda
PPTX
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
Ryuichi Ueda
PPTX
第45回シェル芸勉強会オープニングスライド
Ryuichi Ueda
PPTX
bash(の変な使い方)update
Ryuichi Ueda
PPTX
第41回シェル芸勉強会 午後オープニング
Ryuichi Ueda
PPTX
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Ryuichi Ueda
PDF
20181113_子ども夢ロボット&トーク
Ryuichi Ueda
PPTX
第37回シェル芸勉強会イントロ
Ryuichi Ueda
PPTX
シェル芸勉強会にみる、コミュニティを通じたIT学習
Ryuichi Ueda
PPTX
ROSチュートリアル ROBOMECH2018
Ryuichi Ueda
PDF
poster of PFoE used in ICRA 2018
Ryuichi Ueda
PPTX
Robot frontier lesson3 2018
Ryuichi Ueda
PPTX
Robot frontier lesson2 2018
Ryuichi Ueda
PPTX
Robot frontier lesson1 2018
Ryuichi Ueda
PPTX
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
Ryuichi Ueda
PPTX
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
Ryuichi Ueda
第27回ロボティクスシンポジアスライド
Ryuichi Ueda
シェル・ワンライナー160本ノック
Ryuichi Ueda
日本ロボット学会第139回ロボット工学セミナー
Ryuichi Ueda
シェル芸勉強会と会場の話
Ryuichi Ueda
移動ロボットのナビゲーション
Ryuichi Ueda
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
Ryuichi Ueda
第45回シェル芸勉強会オープニングスライド
Ryuichi Ueda
bash(の変な使い方)update
Ryuichi Ueda
第41回シェル芸勉強会 午後オープニング
Ryuichi Ueda
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Ryuichi Ueda
20181113_子ども夢ロボット&トーク
Ryuichi Ueda
第37回シェル芸勉強会イントロ
Ryuichi Ueda
シェル芸勉強会にみる、コミュニティを通じたIT学習
Ryuichi Ueda
ROSチュートリアル ROBOMECH2018
Ryuichi Ueda
poster of PFoE used in ICRA 2018
Ryuichi Ueda
Robot frontier lesson3 2018
Ryuichi Ueda
Robot frontier lesson2 2018
Ryuichi Ueda
Robot frontier lesson1 2018
Ryuichi Ueda
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
Ryuichi Ueda
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
Ryuichi Ueda
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
1.
第6回チャンピオンシップ シェル芸ランナー勉強会 in
LLまつり USP友の会/産業技術大学院大学 上田隆一
2.
こんにちは • 本セッションは、 アバンギャルドな
Lightweight Language 「シェル(スクリプト)」 のチュートリアルです。 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 2
3.
あのWikipediaも言っている 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり
3
4.
本日はシェル芸勉強会をやります • シェル芸とは? – マウスも使わず、ソースコードも残さず、
GUIツールを立ち上げる間もなく、 あらゆる調査・計算・テキスト処理を コマンド入力一撃で終わらす。 – 格闘技で言えばコンバットサンボ • 理屈ばかり言っていると この人(右図)に殺されると思え 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 4 h=p://www.kremlin.ru
5.
これまでのシェル芸勉強会 • 2012年10月(45人) –
hbstudy#38 シェルスクリプト(Open usp Tukubai)で いろいろやってみよう! • 2012年12月(25人) – USP友の会会長presents第2回チキチキ!シェル芸人養成勉強会 • 2013年2月(32人) – 第3回シェル芸爆破デスマッチ勉強会 • 2013年4月(53人) – 第4回春爛漫シェル芸人撩乱勉強会 • 2013年6月(35人) – 第5回シェル芸勉強会(プレーンタイプ) 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 5 延べ(?)190人 のシェル芸人を 荒野に放つ!!
6.
こういう問題を解いてます • Q. 0〜9までの数字で欠けているものは?
4 3 5 9 8 2 • A. $ echo 4 3 5 9 8 2 | tr ' ' 'n' | cat -‐ <(seq 0 9) | sort | uniq -‐u | tr 'n' ' ' 0 1 6 7 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 6
7.
シェル芸勉強会の意義 • 普段の仕事にCUIを役立てるためのスキル を身につけることが趣旨
– ユーザとしてどうコンピュータを使い倒すか? • 料理人はひたすら包丁や鍋の評論をするか? – 料理の方が大事 – 使いこなすことの方が大事 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 7
8.
使うもの • 自分が普段使っているマシーン •
自分が普段使っているワンライナー環境 – 他流試合大歓迎 • PerlでもRubyでもPowerShellでもOK • 解答はMacとbashで作成しました 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 8
9.
その前に一つ宣伝 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり
9 h=p://ja.wikipedia.org/wiki/たらい舟
10.
では始めます • 諸注意 –
全7問 – コマンドがなかったらその場でインストール願います – 今回はLLまつりということで、かなり難易度高め • あまり実用的でない – どんどんツッコンでください(悪意がなければ) • ・・・では参りましょう。 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 10
11.
第1問 文字の選別 • 次の文字列について、濁点の文字、半濁点 の文字、その他の文字(記号含む)の数を数 えてください
「どんどこどん、ぱらぱっぱ、ぴろぴろぴー、 すっとこどっこい。」 (注意:特に意味はない。) 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 11
12.
解答 • 半角に直して濁点・半濁点を分離 →
集計 – $ echo どんどこどん、ぱらぱっぱ、ぴろぴろぴー、 すっとこどっこい。| gsed 's/./n&/g' | nkf -‐h2 | nkf -‐Z4 | sed 's/./& /' | awk 'NF==2{print $2} NF==1{print "_"}' | sort | uniq -‐c 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 12
13.
第2問 横にcatする • 二つのファイルを横にくっつけてください
2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 13
14.
解答 • $ awk
'{print FNR,$0}' fileA fileB | sort -‐s -‐k1,1 | awk 'NR%2==0{print $2}NR%2==1{prinn $2}' • Open usp Tukubaiを使う – $ ycat file{A,B} | tr -‐d ' ' • 会場から – $ paste file{A,B} | tr -‐d 't' 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 14
15.
第3問 小町算 • 次のechoから始めて 4つの数字の間に
+ -‐ * / の符号を入れ、 100になる計算式を ワンライナーで一つ作ってください • $ echo 56 2 8 9 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 15
16.
解答 • ランダムに数式を作って100になったら止める –
$ echo 56 2 8 9 | awk '{while(1){print "/ + -‐ *", $0,int(rand()*4)+1,int(rand()*4)+1,int(rand()*4)+1}}' | awk '{print $5 $($9) $6 $($10) $7 $($11) $8}' | perl -‐anle 'print $F[0]," ",eval($F[0])' | grep " 100$" | head -‐n 1 • 律儀に式を作る – $ echo 56 2 8 9 | awk '{a[0]="+";a[1]="-‐";a[2]="*";a[3]="/";for(i=0;i<4*4*4;i++) {print $1 a[int(i/16)] $2 a[int(i/4)%4] $3 a[i%4] $4}}' | perl -‐ anle 'print $F[0]," ",eval($F[0])' | grep " 100$" 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 16
17.
• perl不使用バージョン –
$ echo 56 2 8 9 | awk '{while(1){print "+ -‐ / *",$0}}' | awk '{print $5 $(rand()*4+1) $6 $(rand()*4+1) $7 $(rand()*4+1) $8}' | while read ln ; do A=$(echo $ln | bc) ; echo $ln $A; done | awk '$2==100{print $0;exit(0)}' 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 17
18.
第4問 ネットから拝借 • h=p://ja.wikipedia.org/wiki/ISO_3166-‐1
(ISO 3166-‐1 -‐-‐wikipedia)のページから、 アイスランド IS アイルランド IE アゼルバイジャン AZ アフガニスタン AF ... のように、国名と2レターコードの対 のリストを作りましょう。 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 18
19.
解答 • 例 –
$ curl h=p://ja.wikipedia.org/wiki/ISO_3166-‐1 2> /dev/ null | awk '/<table class="sortable/,/</table>/' | grep -‐A 5 '^<tr' | sed 's;.*>(..*)</a></td>;1;' | grep -‐v "lang=" | grep -‐v "t[rh]" | sed 's;</*td>;;g' | awk '/-‐-‐/{print ""}!/-‐-‐/ {prinn $1 " "}' | awk '{print $1,$4}' – 出力を確認しながら泥縄式で作ればよい – 途中でexcelなどに切り替えても特に構わないので、 途中までワンライナーで整理してみる。 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 19
20.
第5問 フィボナッチ数 • 延々とフィボナッチ数を出力するワンライナー
を記述してください。 ただし桁数が増えてもなるべく正確に。 – 0,1,1,2,3,5,8,13... 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 20
21.
解答 • $ a=0;
b=1; while : ; do c=$(echo "$a+$b" | bc | tr -‐d 'n') ; echo $a ; a=$b ; b=$c ; done • 会場から – ruby -‐e "a = [1, 1]; loop { puts n = a.inject(:+); a.shiz; a << n; }" 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 21
22.
第6問 50音の取得 • 以下の出力を得てください。
(echo あいうえお・・・以外で) • あいうえおかきくけこさしすせそたちつてとな にぬねのはひふへほまみむめもやゆよらりる れろわをん 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 22
23.
解答 • 例(cp932の半角カナから) – $
echo {177..220} 166 221 | tr ' ' 'n' | LANG=C gawk '{prinn("%c",$1)}' | iconv -‐f cp932 -‐t un8 | nkf -‐h1 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 23
24.
第7問 ユニコード一覧作成 •
下のようなUnicodeとひらがな(U+3041「ぁ」〜 U+3094「ゔ」)のリストを作成してください。 この問題もiconvを使います。 U+3041 ぁ U+3042 あ U+3043 ぃ ... U+3092 を U+3093 ん U+3094 ゔ 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 24
25.
解答 • $ seq
0x3041 0x3094 | LANG=C gawk '{prinn("%c%c%c%c",int($1/256),$1%256,0,10)}' | iconv -‐f UCS-‐2BE -‐t un8 | awk -‐v a="0x3041" '{prinn("U+%X %sn",a++,$0)}' • 会場から – $ ruby -‐e "0x3041.upto(0x3094) {|n| puts 'U+%x %s' % [n, [n].pack('U')]}" 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 25
26.
おわりに • おつかれさまでした・・・ – まだLLまつりは続きますので、死なないで下さい。
• 次回はおそらく10月 – お待ちしております。 2013年8月24日 第6回チャンピオンシップシェル芸ランナー 勉強会 in LLまつり 26
Download