Enviar pesquisa
Carregar
20130223 OSC Tokyo/Spring
•
13 gostaram
•
13,959 visualizações
Ryuichi Ueda
Seguir
オープンソースカンファレンス 2013 Tokyo/Spring での講演。研究所名義だけどほとんど友の会の内容。ビジネス版コマンドを少し使用。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 26
Baixar agora
Baixar para ler offline
Recomendados
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
Ryuichi Ueda
20131222 第8回シェル芸勉強会スライド
20131222 第8回シェル芸勉強会スライド
Ryuichi Ueda
20130216 シェル芸爆破デスマッチ勉強会
20130216 シェル芸爆破デスマッチ勉強会
Ryuichi Ueda
2012年10月27日 Hbstudy#38
2012年10月27日 Hbstudy#38
Ryuichi Ueda
20130622第5回シェル芸勉強会スライド
20130622第5回シェル芸勉強会スライド
Ryuichi Ueda
20130413シェル芸勉強会スライド
20130413シェル芸勉強会スライド
Ryuichi Ueda
20131102 第7回シェル芸勉強会
20131102 第7回シェル芸勉強会
Ryuichi Ueda
Uspstudy20121208qonly
Uspstudy20121208qonly
Ryuichi Ueda
Recomendados
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
Ryuichi Ueda
20131222 第8回シェル芸勉強会スライド
20131222 第8回シェル芸勉強会スライド
Ryuichi Ueda
20130216 シェル芸爆破デスマッチ勉強会
20130216 シェル芸爆破デスマッチ勉強会
Ryuichi Ueda
2012年10月27日 Hbstudy#38
2012年10月27日 Hbstudy#38
Ryuichi Ueda
20130622第5回シェル芸勉強会スライド
20130622第5回シェル芸勉強会スライド
Ryuichi Ueda
20130413シェル芸勉強会スライド
20130413シェル芸勉強会スライド
Ryuichi Ueda
20131102 第7回シェル芸勉強会
20131102 第7回シェル芸勉強会
Ryuichi Ueda
Uspstudy20121208qonly
Uspstudy20121208qonly
Ryuichi Ueda
Linux女子部第二回勉強会usp友の会
Linux女子部第二回勉強会usp友の会
Ryuichi Ueda
Reading Self-descriptive FizzBuzz
Reading Self-descriptive FizzBuzz
Hiroyuki Morita
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
Linux女子部勉強会 2012年4月21日
Linux女子部勉強会 2012年4月21日
Ryuichi Ueda
USP lab. @ Open Source Conference Tokyo Fall
USP lab. @ Open Source Conference Tokyo Fall
Ryuichi Ueda
Uspstudy20121208
Uspstudy20121208
Ryuichi Ueda
プログラマのための文書推薦入門
プログラマのための文書推薦入門
y-uti
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentation
Ryuichi Ueda
T69 episteme
T69 episteme
えぴ 福田
awk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyo
Ryuichi Ueda
USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413
博文 斉藤
Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習
Yusaku Kawaguchi
第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
Mais conteúdo relacionado
Semelhante a 20130223 OSC Tokyo/Spring
Linux女子部第二回勉強会usp友の会
Linux女子部第二回勉強会usp友の会
Ryuichi Ueda
Reading Self-descriptive FizzBuzz
Reading Self-descriptive FizzBuzz
Hiroyuki Morita
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
Linux女子部勉強会 2012年4月21日
Linux女子部勉強会 2012年4月21日
Ryuichi Ueda
USP lab. @ Open Source Conference Tokyo Fall
USP lab. @ Open Source Conference Tokyo Fall
Ryuichi Ueda
Uspstudy20121208
Uspstudy20121208
Ryuichi Ueda
プログラマのための文書推薦入門
プログラマのための文書推薦入門
y-uti
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentation
Ryuichi Ueda
T69 episteme
T69 episteme
えぴ 福田
awk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyo
Ryuichi Ueda
USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413
博文 斉藤
Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習
Yusaku Kawaguchi
Semelhante a 20130223 OSC Tokyo/Spring
(12)
Linux女子部第二回勉強会usp友の会
Linux女子部第二回勉強会usp友の会
Reading Self-descriptive FizzBuzz
Reading Self-descriptive FizzBuzz
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Linux女子部勉強会 2012年4月21日
Linux女子部勉強会 2012年4月21日
USP lab. @ Open Source Conference Tokyo Fall
USP lab. @ Open Source Conference Tokyo Fall
Uspstudy20121208
Uspstudy20121208
プログラマのための文書推薦入門
プログラマのための文書推薦入門
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentation
T69 episteme
T69 episteme
awk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyo
USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413
Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習
Mais de 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
Mais de 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を使ったロボットシステム」
Último
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Último
(9)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
20130223 OSC Tokyo/Spring
1.
覚えて楽するシェル一行野郎10選! 魅せます☆華麗なシェル芸!
USP研究所 上田隆一
2.
シェル芸とは? • 「マウスも使わず、ソースコードも残さず、
GUIツールを立ち上げる間もなく、 あらゆる調査・計算・テキスト処理を コマンド入力一撃で終わらす。」こと – 昨年10月のHbstudy#38で初めて使った言葉 – 現在は Windows PowerShell まで飛び火 • 密かなブームか? 2013/02/23 OSC 2013 Tokyo/Spring 2
3.
シェル芸勉強会 • 3時間で10問、ワンライナーの問題を解く •
例題: – 文字数を数えてください。 – 答え: • $ cat aiueo | tr -‐d 'n' | wc –m など多数 2013/02/23 OSC 2013 Tokyo/Spring 3
4.
「シェル芸」の狙い • USP研究所のやっていることを理解してもらう
– 端末叩いたことの無い人には全く理解されない • バイアスの是正 – いまさら「シェルが便利」などと言うエバンジェリストはいない – とても便利なのだが、普通は興味の範囲内にならない • 若い人は使ってない。 • 知らない人を見ていると、 1 + 1 を計算するのに 群論を持ち出しているように見える。 2013/02/23 OSC 2013 Tokyo/Spring 4
5.
「シェル芸」の狙い(続き) • スキルトランスファー
– 「シェル芸勉強会」参加者 • 講師 – 問題と解答を作る(解答はだいたい不完全で、別解が存在) • 玄人 – 経験・うんちく多し、マニアックで便利なオプションを知っている、 勉強会荒らし。ただしパズルを出すと解けないことが多い • 玄人ではない人 玄人 v.s. 講師の(平和な)突っ込み合戦を聴き、 全員が勉強する。 2013/02/23 OSC 2013 Tokyo/Spring 5
6.
これまで • 2012/10/27
– シェルスクリプトでいろいろやってみよう(Hbstudy#38 ) • 2012/12/8 – 第二回チキチキ シェル芸人養成勉強会 • 2013/2/16 – 第三回シェル芸爆破デスマッチ – sed の問題を中心に • これからも需要がある限り2ヶ月に1回開催予定 – 4/13(土)予定 2013/02/23 OSC 2013 Tokyo/Spring 6
7.
今日の内容 • 個人的に面白い/役に立つシェル芸10個を紹介 •
せっかくUSP研究所名義で発表するので、 いくつかはビジネス版で拡張シェル芸をお魅せします。 (大風呂敷) 2013/02/23 OSC 2013 Tokyo/Spring 7
8.
1. FizzBuzz(準備運動) • こういう出力を得る
– 1,2,Fizz,4,Buzz,Fizz,7,8,Buzz,Buzz,11,Fizz, 13,14,FizzBuzz,16,… • 短く書くこと。 2013/02/23 OSC 2013 Tokyo/Spring 8
9.
解答 • $ seq
1 16 | awk '$1%3==0{prin] "Fizz"}$1%5==0{prin] "Buzz"}{print " ",$1}' | awk '{print $1}' | tr 'n' ',' 2013/02/23 OSC 2013 Tokyo/Spring 9
10.
2. 数を数える • テキストファイル(原稿)から
「Ubuntu」の文字を数える 2013/02/23 OSC 2013 Tokyo/Spring 10
11.
解答 • $ grep
Ubuntu *.rst | sed 's/:.*//' | sort | uniq -‐c 2013/02/23 OSC 2013 Tokyo/Spring 11
12.
3. データ抽出 • キー
a, b それぞれについて、一番大きい数字 を取り出してください。 2013/02/23 OSC 2013 Tokyo/Spring 12
13.
解答 • $ cat
hoge | sort -‐k1,1 -‐k2,2nr | uniq -‐w 1 (Mac 等だと guniq を使う) 2013/02/23 OSC 2013 Tokyo/Spring 13
14.
4. 日付の計算 •
1978年2月16日は、 2013年2月23日の何日前でしょう? 2013/02/23 OSC 2013 Tokyo/Spring 14
15.
解答 • Mac
– $ echo $(gdate +%s -‐d 20130223) $(gdate +%s -‐d 19780216) | awk '{print $1-‐$2}' | awk '{print $1/ (24*60*60)}' (gdate インストールのこと) • Linux等 – echo 19780216 20130223 | tr ' ' '¥n' | date +%s –f -‐ | tr '¥n' ' ' | awk '{print $1-‐$2}' | awk '{print $1/ (24*60*60)}' 2013/02/23 OSC 2013 Tokyo/Spring 15
16.
5. リストにないものを探す • 1から10までの数字のうち、numにないものは? 2013/02/23
OSC 2013 Tokyo/Spring 16
17.
解答 • $ seq
1 10 | cat -‐ num | sort | uniq –u • $ sort num <(seq 1 10) | uniq -‐u 2013/02/23 OSC 2013 Tokyo/Spring 17
18.
6. エクセルの読み書き • ビジネス版
– 読み • $ rexcelx 1 book.xlsx – 書き • $ echo {1..10} | wexcelx ./book.xlsx 1 A7 -‐ > out.xlsx 2013/02/23 OSC 2013 Tokyo/Spring 18
19.
7. 速いソート •
1億行のデータのソート 2013/02/23 OSC 2013 Tokyo/Spring 19
20.
解答(というよりベンチマーク) 2013/02/23
OSC 2013 Tokyo/Spring 20
21.
8. ソートして集計 2013/02/23
OSC 2013 Tokyo/Spring 21
22.
9. 足し算する(精度よく) • 答え:212702.890832364364363 2013/02/23
OSC 2013 Tokyo/Spring 22
23.
解答 • $ cat
num | sed 's/$/ + /' | tr -‐d 'n' | awk '{print}' | sed 's/+ -‐/+ /g' | sed 's/+ $//' | bc • $ sm2 0 0 1 1 num 2013/02/23 OSC 2013 Tokyo/Spring 23
24.
10. 横に並んだ数字のソート • 各行について、数字を小さい方から横に並べる。 2013/02/23
OSC 2013 Tokyo/Spring 24
25.
解答 • $ cat
file | cat -‐n | awk '{for(i=2;i<=NF;i++) {print $1,$i}}' | sort -‐k1,1n -‐k2,2n | awk '{if($1!=a){a=$1;prin] "n"};print $2}' | tr 'n' ' ' | tr 'n' 'n' | awk 'NF!=0' • $ cat file | juni | tarr num=1 | sort -‐k1,1n -‐k2,2n | yarr num=1 | delf 1 2013/02/23 OSC 2013 Tokyo/Spring 25
26.
まとめ • 端末は(シェル芸で修行すれば)便利 •
4/13(予定)遊びに来てください 2013/02/23 OSC 2013 Tokyo/Spring 26
Baixar agora