Submit Search
Upload
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
•
10 likes
•
15,041 views
Ryuichi Ueda
Follow
2013年8月24日、LLまつりにて行ったチュートリアル。いつもより難しめの問題。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 26
Download now
Download to read offline
Recommended
変数同士の関連_MIC
変数同士の関連_MIC
Shushi Namba
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装
uchan_nos
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
Shohei Hido
「いい検索」を考える
「いい検索」を考える
Shuryo Uchida
MICの解説
MICの解説
logics-of-blue
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
Recommended
変数同士の関連_MIC
変数同士の関連_MIC
Shushi Namba
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装
uchan_nos
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
Shohei Hido
「いい検索」を考える
「いい検索」を考える
Shuryo Uchida
MICの解説
MICの解説
logics-of-blue
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
Kei Nakagawa
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
Yohei Sato
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
(shibao)芝尾 (kouichiro)幸一郎
落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット
森 哲也
第3回ナレッジグラフ推論チャレンジ2020の紹介
第3回ナレッジグラフ推論チャレンジ2020の紹介
KnowledgeGraph
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
Hiroshi Nakagawa
Word2vecの理論背景
Word2vecの理論背景
Masato Nakai
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
Nozomu Kaneko
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
数式を使わないプライバシー保護技術
数式を使わないプライバシー保護技術
Hiroshi Nakagawa
ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介
KnowledgeGraph
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
Kentaro Minami
モンテカルロサンプリング
モンテカルロサンプリング
Kosei ABE
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
Kazuki Tsutsumi
10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)
Takanori Ogata
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
Shiga University, RIKEN
金融情報における時系列分析
金融情報における時系列分析
Fujio Toriumi
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
20130622第5回シェル芸勉強会スライド
20130622第5回シェル芸勉強会スライド
Ryuichi Ueda
20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/Spring
Ryuichi Ueda
More Related Content
What's hot
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
Kei Nakagawa
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
Yohei Sato
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
(shibao)芝尾 (kouichiro)幸一郎
落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット
森 哲也
第3回ナレッジグラフ推論チャレンジ2020の紹介
第3回ナレッジグラフ推論チャレンジ2020の紹介
KnowledgeGraph
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
Hiroshi Nakagawa
Word2vecの理論背景
Word2vecの理論背景
Masato Nakai
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
Nozomu Kaneko
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
数式を使わないプライバシー保護技術
数式を使わないプライバシー保護技術
Hiroshi Nakagawa
ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介
KnowledgeGraph
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
Kentaro Minami
モンテカルロサンプリング
モンテカルロサンプリング
Kosei ABE
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
Kazuki Tsutsumi
10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)
Takanori Ogata
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
Shiga University, RIKEN
金融情報における時系列分析
金融情報における時系列分析
Fujio Toriumi
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
What's hot
(20)
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Oss貢献超入門
Oss貢献超入門
Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット
第3回ナレッジグラフ推論チャレンジ2020の紹介
第3回ナレッジグラフ推論チャレンジ2020の紹介
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
Word2vecの理論背景
Word2vecの理論背景
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
メタプログラミングって何だろう
メタプログラミングって何だろう
数式を使わないプライバシー保護技術
数式を使わないプライバシー保護技術
ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
モンテカルロサンプリング
モンテカルロサンプリング
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
金融情報における時系列分析
金融情報における時系列分析
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
Viewers also liked
20130622第5回シェル芸勉強会スライド
20130622第5回シェル芸勉強会スライド
Ryuichi Ueda
20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/Spring
Ryuichi Ueda
Uspstudy20121208qonly
Uspstudy20121208qonly
Ryuichi Ueda
20130216 シェル芸爆破デスマッチ勉強会
20130216 シェル芸爆破デスマッチ勉強会
Ryuichi Ueda
20130413シェル芸勉強会スライド
20130413シェル芸勉強会スライド
Ryuichi Ueda
20131222 第8回シェル芸勉強会スライド
20131222 第8回シェル芸勉強会スライド
Ryuichi Ueda
20131102 第7回シェル芸勉強会
20131102 第7回シェル芸勉強会
Ryuichi Ueda
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
Ryuichi Ueda
第31回シェル芸勉強会スライド
第31回シェル芸勉強会スライド
Ryuichi Ueda
2012年10月27日 Hbstudy#38
2012年10月27日 Hbstudy#38
Ryuichi Ueda
Viewers also liked
(10)
20130622第5回シェル芸勉強会スライド
20130622第5回シェル芸勉強会スライド
20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/Spring
Uspstudy20121208qonly
Uspstudy20121208qonly
20130216 シェル芸爆破デスマッチ勉強会
20130216 シェル芸爆破デスマッチ勉強会
20130413シェル芸勉強会スライド
20130413シェル芸勉強会スライド
20131222 第8回シェル芸勉強会スライド
20131222 第8回シェル芸勉強会スライド
20131102 第7回シェル芸勉強会
20131102 第7回シェル芸勉強会
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
第31回シェル芸勉強会スライド
第31回シェル芸勉強会スライド
2012年10月27日 Hbstudy#38
2012年10月27日 Hbstudy#38
More from Ryuichi Ueda
第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド
Ryuichi Ueda
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノック
Ryuichi Ueda
日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー
Ryuichi Ueda
シェル芸勉強会と会場の話
シェル芸勉強会と会場の話
Ryuichi Ueda
移動ロボットのナビゲーション
移動ロボットのナビゲーション
Ryuichi Ueda
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
Ryuichi Ueda
第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド
Ryuichi Ueda
bash(の変な使い方)update
bash(の変な使い方)update
Ryuichi Ueda
第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...
Ryuichi Ueda
20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク
Ryuichi Ueda
第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ
Ryuichi Ueda
シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習
Ryuichi Ueda
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
Ryuichi Ueda
poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018
Ryuichi Ueda
Robot frontier lesson3 2018
Robot frontier lesson3 2018
Ryuichi Ueda
Robot frontier lesson2 2018
Robot frontier lesson2 2018
Ryuichi Ueda
Robot frontier lesson1 2018
Robot frontier lesson1 2018
Ryuichi Ueda
第34回シェル芸勉強会
第34回シェル芸勉強会
Ryuichi Ueda
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
Ryuichi Ueda
More from Ryuichi Ueda
(20)
第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノック
日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー
シェル芸勉強会と会場の話
シェル芸勉強会と会場の話
移動ロボットのナビゲーション
移動ロボットのナビゲーション
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド
bash(の変な使い方)update
bash(の変な使い方)update
第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...
20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク
第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ
シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018
Robot frontier lesson3 2018
Robot frontier lesson3 2018
Robot frontier lesson2 2018
Robot frontier lesson2 2018
Robot frontier lesson1 2018
Robot frontier lesson1 2018
第34回シェル芸勉強会
第34回シェル芸勉強会
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
Recently uploaded
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Recently uploaded
(10)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
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 now