Submit Search
Upload
シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
•
Download as PPTX, PDF
•
0 likes
•
1,665 views
X
xztaityozx
Follow
7/1の29回シェル芸勉強会で話したスライドです
Read less
Read more
Science
Report
Share
Report
Share
1 of 26
Download now
Recommended
難読化シェル芸
難読化シェル芸
xztaityozx
破壊的難読化シェル芸
破壊的難読化シェル芸
xztaityozx
ダブルシンク難読化シェル芸
ダブルシンク難読化シェル芸
xztaityozx
Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
Yuto M
青本勉強会2章
青本勉強会2章
Keiichirou Miyamoto
LTで分かる!アセンブラ
LTで分かる!アセンブラ
Toru Nayuki
Ruby/RubyCocoa for iPhone - UICoderz4
Ruby/RubyCocoa for iPhone - UICoderz4
takuma mori
TextMate
TextMate
Naoyuki Mitsuboshi
Recommended
難読化シェル芸
難読化シェル芸
xztaityozx
破壊的難読化シェル芸
破壊的難読化シェル芸
xztaityozx
ダブルシンク難読化シェル芸
ダブルシンク難読化シェル芸
xztaityozx
Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
Yuto M
青本勉強会2章
青本勉強会2章
Keiichirou Miyamoto
LTで分かる!アセンブラ
LTで分かる!アセンブラ
Toru Nayuki
Ruby/RubyCocoa for iPhone - UICoderz4
Ruby/RubyCocoa for iPhone - UICoderz4
takuma mori
TextMate
TextMate
Naoyuki Mitsuboshi
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
Yuichi Yoshida
dwangocpp1-lt
dwangocpp1-lt
karupanerura
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
Sugawara Genki
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Sho Hosoda
かんたん!UMLのバージョン管理,どこでもモデリング
かんたん!UMLのバージョン管理,どこでもモデリング
Kento Tsuji
14対話bot発表資料
14対話bot発表資料
Keiichirou Miyamoto
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
Yoshiki Shibukawa
CONBU API の開発
CONBU API の開発
TAKANO Mitsuhiro
Visual Studio 2008による 開発環境・プログラミングの進化
Visual Studio 2008による 開発環境・プログラミングの進化
Fujio Kojima
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
Hideki Takase
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
Koji Shiraishi
LINQ の概要とかもろもろ
LINQ の概要とかもろもろ
ShinichiAoyagi
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Yoshiki Shibukawa
Docker 再入門 2016 update
Docker 再入門 2016 update
Shiojiri Ohhara
基礎演習V 河野ゼミ紹介20161025
基礎演習V 河野ゼミ紹介20161025
義広 河野
C83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきました
Kiwamu Okabe
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
Fujio Kojima
Linq To Fun
Linq To Fun
deflis
More Related Content
What's hot
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
Yuichi Yoshida
dwangocpp1-lt
dwangocpp1-lt
karupanerura
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
Sugawara Genki
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Sho Hosoda
かんたん!UMLのバージョン管理,どこでもモデリング
かんたん!UMLのバージョン管理,どこでもモデリング
Kento Tsuji
What's hot
(7)
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
dwangocpp1-lt
dwangocpp1-lt
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
かんたん!UMLのバージョン管理,どこでもモデリング
かんたん!UMLのバージョン管理,どこでもモデリング
Similar to シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
14対話bot発表資料
14対話bot発表資料
Keiichirou Miyamoto
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
Yoshiki Shibukawa
CONBU API の開発
CONBU API の開発
TAKANO Mitsuhiro
Visual Studio 2008による 開発環境・プログラミングの進化
Visual Studio 2008による 開発環境・プログラミングの進化
Fujio Kojima
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
Hideki Takase
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
Koji Shiraishi
LINQ の概要とかもろもろ
LINQ の概要とかもろもろ
ShinichiAoyagi
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Yoshiki Shibukawa
Docker 再入門 2016 update
Docker 再入門 2016 update
Shiojiri Ohhara
基礎演習V 河野ゼミ紹介20161025
基礎演習V 河野ゼミ紹介20161025
義広 河野
C83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきました
Kiwamu Okabe
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
Fujio Kojima
Linq To Fun
Linq To Fun
deflis
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かす
Daisuke Taniwaki
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
Tomohiro Kumagai
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
uchan_nos
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
Satoshi Yazawa
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
Similar to シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
(20)
14対話bot発表資料
14対話bot発表資料
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
CONBU API の開発
CONBU API の開発
Visual Studio 2008による 開発環境・プログラミングの進化
Visual Studio 2008による 開発環境・プログラミングの進化
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
LINQ の概要とかもろもろ
LINQ の概要とかもろもろ
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Docker 再入門 2016 update
Docker 再入門 2016 update
基礎演習V 河野ゼミ紹介20161025
基礎演習V 河野ゼミ紹介20161025
C83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきました
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
Linq To Fun
Linq To Fun
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かす
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
More from xztaityozx
呪符式高速詠唱シェル芸2
呪符式高速詠唱シェル芸2
xztaityozx
呪符式高速詠唱シェル芸
呪符式高速詠唱シェル芸
xztaityozx
surgeコマンド作りました
surgeコマンド作りました
xztaityozx
ナーベンシュタイン距離 ~グラフを添えて~
ナーベンシュタイン距離 ~グラフを添えて~
xztaityozx
あの、selのリベンジをさせてください
あの、selのリベンジをさせてください
xztaityozx
Owari version 2.0 をつくりました
Owari version 2.0 をつくりました
xztaityozx
実績を達成しました!
実績を達成しました!
xztaityozx
ワタナBase59
ワタナBase59
xztaityozx
ocsとselってコマンド作ったわよ
ocsとselってコマンド作ったわよ
xztaityozx
ワタナベシェル
ワタナベシェル
xztaityozx
柿と杮
柿と杮
xztaityozx
難読化PowerShell芸入門
難読化PowerShell芸入門
xztaityozx
シェル芸をドット絵にして思いを伝えよう!
シェル芸をドット絵にして思いを伝えよう!
xztaityozx
終わりを出力するコマンドつくった
終わりを出力するコマンドつくった
xztaityozx
ワタナベ難読化シェル芸
ワタナベ難読化シェル芸
xztaityozx
~/.bashrcを難読化しよう!
~/.bashrcを難読化しよう!
xztaityozx
CLIツール作るの楽しい
CLIツール作るの楽しい
xztaityozx
レッツゴー難読化シェル芸
レッツゴー難読化シェル芸
xztaityozx
超・記号オンリー難読化シェル芸
超・記号オンリー難読化シェル芸
xztaityozx
部活でシェル芸がはやらない
部活でシェル芸がはやらない
xztaityozx
More from xztaityozx
(20)
呪符式高速詠唱シェル芸2
呪符式高速詠唱シェル芸2
呪符式高速詠唱シェル芸
呪符式高速詠唱シェル芸
surgeコマンド作りました
surgeコマンド作りました
ナーベンシュタイン距離 ~グラフを添えて~
ナーベンシュタイン距離 ~グラフを添えて~
あの、selのリベンジをさせてください
あの、selのリベンジをさせてください
Owari version 2.0 をつくりました
Owari version 2.0 をつくりました
実績を達成しました!
実績を達成しました!
ワタナBase59
ワタナBase59
ocsとselってコマンド作ったわよ
ocsとselってコマンド作ったわよ
ワタナベシェル
ワタナベシェル
柿と杮
柿と杮
難読化PowerShell芸入門
難読化PowerShell芸入門
シェル芸をドット絵にして思いを伝えよう!
シェル芸をドット絵にして思いを伝えよう!
終わりを出力するコマンドつくった
終わりを出力するコマンドつくった
ワタナベ難読化シェル芸
ワタナベ難読化シェル芸
~/.bashrcを難読化しよう!
~/.bashrcを難読化しよう!
CLIツール作るの楽しい
CLIツール作るの楽しい
レッツゴー難読化シェル芸
レッツゴー難読化シェル芸
超・記号オンリー難読化シェル芸
超・記号オンリー難読化シェル芸
部活でシェル芸がはやらない
部活でシェル芸がはやらない
シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
1.
シェル芸で使いたくて LINQが使えるコマンド作ったら awkでよかった話 たいちょー
2.
みなさん#!/bin/bash(こんにちはの意) たいちょー Twitter : @xztaityozx_001 OITの4年生 /bin/bash在住 母語はC# アイコンステッカーあります
3.
LINQ #とは LinQは日本の福岡県福岡市を拠点に活動 しているローカルアイドルグループ --Wikipediaより 今回は残念ながらこっちではないです
4.
.NET framework の方の
LINQ DBやXMLのようなデータだけでなく あらゆる情報ソースに適用できるクエリ DBにアクセスする感じでデータ構造を 操作できる
5.
LINQの例 int[] A =
new int[]{1,2,3, … ,10}; var B = A.Where(x=>x%2==0); // B = {2,4,6,8,10} var C = A.Where(x=>x%2==1).Select(x=>x+20); // C = {21,23,25,27,29}
6.
うわっめちゃ強力じゃん すごいぞLINQ .NETの加護を受けているC#やVBや Powerシェル芸のつよみ
7.
こういうの
8.
僕は 何かシェル芸をやってるときに と思います 思いませんか??
9.
ツールを探す 多分無い ggりパワーが低いだけかもしれない いろいろggってたら自分のブログが出て きて恥ずかしかった
10.
無いなら作ればいいじゃない 作ってしまった ShelLINQ って言います https://github.com/xztaityozx/shellinq カッコいいロゴも作りました
11.
ShelLINQの使い方 shellinq [TYPEs] [method
query] … [-o [FORMAT]] EX) 偶数取り出す seq 1 30|shellinq where 'x=>x%2==0' ↑C#のラムダ ぎっとはぶ: xztaityozx/shellinq
12.
awkみたいにクエリが書ける EX) 偶数取り出す seq 1
30|shellinq where 'x=>x%2==0' ↓ seq 1 30|shellinq where '$1%2==0' $0は全カラムを出力する
13.
メソッドチェーンもできる seq 1 30|shellinq where
'$1%2==0' select '$1+$1'
14.
カラムが複数でもいける ls -l |sed
'1d'| shellinq select '$1'
15.
どんな実装か C#のソースコードを吐き出しているだけ それをmcsに通してビルド monoを使って実行 シェル芸の定義に従ってソースはrmする 入力の1行目を使って型推論()している
16.
VS awk awkとバトルします 発表タイトルから結果が見えてますが お付き合いください
17.
対決内容 書きやすさは個人差があるので 1~1,000,000までのFizzBuzzの実行時間 timeコマンドを使って測定 環境はUbuntu 16.04
18.
赤コーナー awk seq 1 1000000|awk ‘{if(NR%15==0){print “FizzBuzz”}else
if(NR%5==0){print “Fizz”}else if(NR%3==0){print “Buzz”}else{print $1}}’ > /dev/null
19.
青コーナー ShelLINQ seq 1 1000000|shellinq
select ‘x=>{return x%15==0?”FizzBuzz”:x%5==0?”Fizz” :x%3==0?”Buzz”:””+x’} > /dev/null
20.
ファイト!!!!!! awk
21.
ファイト!!!!!! ShelLINQ
22.
結果発表ッ!! awk real : 0.195s,
user : 0.204s, sys : 0.000s ShelLINQ real : 0.982s, user : 0.892s, sys : 0.028s
23.
awkの圧勝ッ!!!! awkでええわ!
24.
ちなみに ShelLINQで作られた実行形式ファイル だけで計測
25.
大敗北ッ!!!!! awkすごいぜ! 悔しくはないです 実行時間がすべてではないでしょ? 何とかしようと色々やってこれです
26.
以上です ShelLINQ ぜひ使ってね https://github.com/xztaityozx/shellinq
Download now