Submit Search
Upload
20131222 第8回シェル芸勉強会スライド
•
1 like
•
14,674 views
Ryuichi Ueda
Follow
2013/12/22 シェル芸勉強会@KDDIウェブコミュニケーションズ
Read less
Read more
Technology
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
20130622第5回シェル芸勉強会スライド
20130622第5回シェル芸勉強会スライド
Ryuichi Ueda
20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/Spring
Ryuichi Ueda
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
Ryuichi Ueda
20130216 シェル芸爆破デスマッチ勉強会
20130216 シェル芸爆破デスマッチ勉強会
Ryuichi Ueda
20130413シェル芸勉強会スライド
20130413シェル芸勉強会スライド
Ryuichi Ueda
20131102 第7回シェル芸勉強会
20131102 第7回シェル芸勉強会
Ryuichi Ueda
2012年10月27日 Hbstudy#38
2012年10月27日 Hbstudy#38
Ryuichi Ueda
Uspstudy20121208qonly
Uspstudy20121208qonly
Ryuichi Ueda
Recommended
20130622第5回シェル芸勉強会スライド
20130622第5回シェル芸勉強会スライド
Ryuichi Ueda
20130223 OSC Tokyo/Spring
20130223 OSC Tokyo/Spring
Ryuichi Ueda
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
Ryuichi Ueda
20130216 シェル芸爆破デスマッチ勉強会
20130216 シェル芸爆破デスマッチ勉強会
Ryuichi Ueda
20130413シェル芸勉強会スライド
20130413シェル芸勉強会スライド
Ryuichi Ueda
20131102 第7回シェル芸勉強会
20131102 第7回シェル芸勉強会
Ryuichi Ueda
2012年10月27日 Hbstudy#38
2012年10月27日 Hbstudy#38
Ryuichi Ueda
Uspstudy20121208qonly
Uspstudy20121208qonly
Ryuichi Ueda
部活でシェル芸がはやらない
部活でシェル芸がはやらない
xztaityozx
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
Hisatoshi Onishi
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
Masaru Mizuochi
第7回社内勉強会「Code Sucks - 人の振り見て我が振り直せ」
第7回社内勉強会「Code Sucks - 人の振り見て我が振り直せ」
Hiromu Shioya
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
Nishida Kansuke
USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413
博文 斉藤
カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化
Kanetaka Heshiki
pixivとl10n/i18n
pixivとl10n/i18n
Kenta USAMI
入門 超絶技巧プログラミング !
入門 超絶技巧プログラミング !
Nobutada Matsubara
PCさえあればいい。
PCさえあればいい。
bleis tift
第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
More Related Content
What's hot
部活でシェル芸がはやらない
部活でシェル芸がはやらない
xztaityozx
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
Hisatoshi Onishi
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
Masaru Mizuochi
第7回社内勉強会「Code Sucks - 人の振り見て我が振り直せ」
第7回社内勉強会「Code Sucks - 人の振り見て我が振り直せ」
Hiromu Shioya
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
Nishida Kansuke
USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413
博文 斉藤
カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化
Kanetaka Heshiki
pixivとl10n/i18n
pixivとl10n/i18n
Kenta USAMI
入門 超絶技巧プログラミング !
入門 超絶技巧プログラミング !
Nobutada Matsubara
PCさえあればいい。
PCさえあればいい。
bleis tift
What's hot
(10)
部活でシェル芸がはやらない
部活でシェル芸がはやらない
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
第7回社内勉強会「Code Sucks - 人の振り見て我が振り直せ」
第7回社内勉強会「Code Sucks - 人の振り見て我が振り直せ」
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413
カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化
pixivとl10n/i18n
pixivとl10n/i18n
入門 超絶技巧プログラミング !
入門 超絶技巧プログラミング !
PCさえあればいい。
PCさえあればいい。
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
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(9)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
20131222 第8回シェル芸勉強会スライド
1.
第8回クリスマスって何だっけ シェル芸なら知ってる勉強会 USP友の会 上田 隆一
2.
近況 • 本、書きました。編集待ち。 •
本、書いてます。 2013/12/22 第8回シェル芸勉強会 2
3.
イントロダクション • いつもいまいちウケがよくないので割愛 2013/12/22 第8回シェル芸勉強会 3
4.
シェル芸とは? • 毎回書くのが面倒なので続きはWebで –
h/p://blog.ueda.asia/?page_id=1434 2013/12/22 第8回シェル芸勉強会 4
5.
今回の進め方 • ビギナー置いてきぼり現象にメス
• 4〜6人でチーム分け – できる人+そこそこの人+ビギナー※ (※自称ビギナー除く) – できる人:とりまとめ – そこそこの人:考える、ビギナーの人のサポート – ビギナーの人:見て真似をする 2013/12/22 第8回シェル芸勉強会 5
6.
• 問題は8問 •
1問15分 • 解答はUbuntu Linuxで作りました。 2013/12/22 第8回シェル芸勉強会 6
7.
問題1 • 二つずつ数字をフリップしてください •
例 – 入力: 1 2 3 4 5 6 7 8 9 10 – 出力: 2 1 4 3 6 5 8 7 10 9 2013/12/22 第8回シェル芸勉強会 7
8.
解答 • $ echo
{1..10} | xargs -‐n 2 | awk '{print $2,$1}' | xargs • $ echo {1..10} | awk '{for(i=1;i<=9;i+=2){print $(i+1),$i}}' | xargs • $ echo {1..10} | sed 's/[0-‐9]* [0-‐9]* /&n/g' | awk '{print $2,$1}' |xargs • Tukubai使用 – $ echo {1..10} | yarr -‐2 | self 2 1 | yarr 2013/12/22 第8回シェル芸勉強会 8
9.
問題2 • 「ユニケージ」「ユニゲージ」「UPS」「USP」の各個数を 数えてください。 –
ユニゲージユニケージユニゲージUSP友の会USP友の会 UPS友の会UPS友の会 2013/12/22 第8回シェル芸勉強会 9
10.
解答 • $ echo
<省略>| grep -‐oE "(ユニゲージ|ユニケージ|USP|UPS)" | sort | uniq -‐c • ファイルを使う方法 – $ cat memo ユニケージ ユニゲージ USP UPS – $ echo <省略>| grep -‐o -‐f memo | sort | uniq -‐c 2013/12/22 第8回シェル芸勉強会 10
11.
問題3 • 次の4個のファイルを作り、同じ内容のものを 探し出すワンライナーを作成してください。
– echo 12345 > file1 – echo 23456 > file2 – echo 12345 > file3 – echo 45678 > file4 2013/12/22 第8回シェル芸勉強会 11
12.
解答 • $ ls
file[1-‐4] | xargs md5sum | awk '{a[$1] = a[$1]" "$2}END{for(v in a){print a[v]}}' | awk 'NF>1' • Tukubai使用 – $ ls file[1-‐4] | xargs md5sum | sort | yarr num=1 | awk 'NF>2' 2013/12/22 第8回シェル芸勉強会 12
13.
問題4 • 数字の列を偶数と奇数に分けてください。 ただし、偶数、奇数の列内での数字の並びを
変えないように。 • 例 – 入力:3 8 2 10 1 8 9 – 出力:8 2 10 8 3 1 9 2013/12/22 第8回シェル芸勉強会 13
14.
解答 • $ echo
3 8 2 10 1 8 9 | tr ' ' 'n' | awk '{print $1%2,$1}' | sort -‐s -‐k1,1 | awk '{print $2}' | xargs • $ echo 3 8 2 10 1 8 9 | tr ' ' 'n' | awk 'BEGIN{b=0}$1%2{a[b]=$1;b++}$1%2==0{print} END{for(i=0;i<b;i++){print a[i]}}' | xargs 2013/12/22 第8回シェル芸勉強会 14
15.
問題5 • 次のように連続した0と1の数を数え、 次のように変換してください
– 0と1が連続したときは0 or 1の後ろに 個数をつけてスペースを挿入 – 0と1が連続していないときはスペース区切りでそのまま出力 – 例 • 入力: 000001111111111001010 • 出力: 05 110 02 1 0 1 0 2013/12/22 第8回シェル芸勉強会 15
16.
解答 • $ echo
000001111111111001010 | sed 's/./&n/g' | uniq -‐c | awk 'NF==2{print $2,$1}' | sed 's/ 1$//' | tr -‐d ' ' | xargs 2013/12/22 第8回シェル芸勉強会 16
17.
問題6 • 数字の列を次のように整形してください –
小さい順に空白区切りで並んだ自然数に対し、 2個以上の数字が連続した場合は両端の数字だけ残して 間にハイフンを入れる – 例 • 入力:1 2 3 5 6 8 10 11 12 15 • 出力:1-‐3 5-‐6 8 10-‐12 15 2013/12/22 第8回シェル芸勉強会 17
18.
解答 • $ echo
1 2 3 5 6 8 10 11 12 15 | tr ' ' 'n' | awk 'BEGIN{a=1}{print ($1-‐a==1?",":" ")$1;a=$1}' | tr -‐d 'n' | sed 's/$/n/g' | sed 's/,[^ ]*,/-‐/g' | tr "," "-‐" • $ echo 1 2 3 5 6 8 10 11 12 15 | awk '{for(i=1;i<=NF;i++){print $i,$(i+1)-‐$i}}' | awk '$2==1{print $1","}$2!=1{print $1" "}' | tr -‐d 'n' | tr ',' '-‐' | sed 's/-‐[0-‐9]*-‐/-‐/g' | awk '{print}' • $ echo 1 2 3 5 6 8 10 11 12 15 | xargs -‐n 1 | awk '{print $1,$i-‐a;a=$1}' | awk '$2>1{print "";prino $1" "} $2==1{prino $1" "}' | awk '{print $1,$NF}' | awk '$1==$2{print $1}$1!=$2{print}' | tr ' ' '-‐' | xargs 2013/12/22 第8回シェル芸勉強会 18
19.
問題7 • 次の文字列は、数字3桁の安直なパスワードを MD5ハッシュしたものです。
パスワードを破ってください。 「250cf8b51c773f3f8dc8b4be867a9a02」 – 注意:MD5値を求めるときには改行記号を入れていません。 2013/12/22 第8回シェル芸勉強会 19
20.
解答 • $ seq
-‐w 000 999 | while read n ; do echo -‐n $n" " ;echo -‐n $n | md5sum; done | grep 250cf8b51 • $ echo 'echo -‐n @" "; echo -‐n @ | md5sum' | awk '{for(i=0;i<=999;i++){print}}' | awk '{gsub(/@/,sprino("%03d",NR-‐1),$0);print}' | sh | grep 250cf8b51 2013/12/22 第8回シェル芸勉強会 20
21.
問題8 • /usr/share/dict/wordsでしりとりを完成させてくださ い –
8つ以上単語を並べること • 辞書のインストール – sudo apt-‐get install wamerican等 2013/12/22 第8回シェル芸勉強会 21
22.
解答 • Tukubai使用 –
$ sort -‐R /usr/share/dict/words | yarr -‐2 | awk 'substr($1,length($1),1) == substr($2,1,1)' | sort -‐R | yarr -‐4 | awk 'substr($2,length($2),1) == substr($3,1,1)' | sort -‐R | yarr -‐8 | awk 'substr($4,length($4),1) == substr($5,1,1)' • インチキ – $ grep '^s' /usr/share/dict/words | grep 's$' | tr 'n' ' ' 2013/12/22 第8回シェル芸勉強会 22
23.
おわりに • カレー屋に移動! 2013/12/22 第8回シェル芸勉強会 23
Download now