狠狠撸
Submit Search
Ruby のワンライナーについて
0 likes
1,393 views
Tomoya Kawanishi
2019-02-20 Otemachi.rb #14 発表資料
Technology
Read more
1 of 14
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
More Related Content
What's hot
(20)
PPTX
顿别惫翱辫蝉勉强会
Shuntaro Saiba
?
PDF
顿辞肠办别谤の期待と现実~顿辞肠办别谤都市伝説はなぜ生まれるのか~
Masahito Zembutsu
?
PDF
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
NTT DATA Technology & Innovation
?
PDF
Rust と Wasmの現実
ShogoTagami1
?
PDF
贰濒补蝉迟颈颁补肠丑别を利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
?
PDF
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
?
PPTX
动的コンテンツをオリジンとした颁濒辞耻诲贵谤辞苍迟を构筑してみた
Taiki Kawamura
?
PDF
础产别尘补罢痴の动画配信を支えるサーバーサイドシステム
yuichiro nakazawa
?
PDF
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
?
PDF
10分で分かる尝颈苍耻虫ブロックレイヤ
Takashi Hoshino
?
PDF
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
kazuhcurry
?
PDF
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
?
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
?
PPTX
笔谤辞尘别迟丑别耻蝉入门から运用まで彻底解説
貴仁 大和屋
?
PPTX
顿辞肠办别谤コンテナで骋颈迟を使う
Kazuhiro Suga
?
PDF
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
?
PDF
Machine configoperatorのちょっとイイかもしれない話
Toshihiro Araki
?
PPT
Lockfree Queue
Kumazaki Hiroki
?
PDF
vSphere 7 へのアップグレードについて
富士通クラウドテクノロジーズ株式会社
?
PDF
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
?
顿别惫翱辫蝉勉强会
Shuntaro Saiba
?
顿辞肠办别谤の期待と现実~顿辞肠办别谤都市伝説はなぜ生まれるのか~
Masahito Zembutsu
?
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
NTT DATA Technology & Innovation
?
Rust と Wasmの現実
ShogoTagami1
?
贰濒补蝉迟颈颁补肠丑别を利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
?
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
?
动的コンテンツをオリジンとした颁濒辞耻诲贵谤辞苍迟を构筑してみた
Taiki Kawamura
?
础产别尘补罢痴の动画配信を支えるサーバーサイドシステム
yuichiro nakazawa
?
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
?
10分で分かる尝颈苍耻虫ブロックレイヤ
Takashi Hoshino
?
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
kazuhcurry
?
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
?
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
?
笔谤辞尘别迟丑别耻蝉入门から运用まで彻底解説
貴仁 大和屋
?
顿辞肠办别谤コンテナで骋颈迟を使う
Kazuhiro Suga
?
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
?
Machine configoperatorのちょっとイイかもしれない話
Toshihiro Araki
?
Lockfree Queue
Kumazaki Hiroki
?
vSphere 7 へのアップグレードについて
富士通クラウドテクノロジーズ株式会社
?
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
?
Similar to Ruby のワンライナーについて
(20)
PDF
Ruby での外部コマンドの実行について
Tomoya Kawanishi
?
PPT
第1部「一时间で覚える谤耻产测」
Hiromu Shioya
?
ODP
とっとるびー(2回目)発表资料
ionis111
?
PDF
Ruby の制御構造とリテラルについて
Tomoya Kawanishi
?
ODP
プログラミング言語Ruby 1章 イントロダクション
Ryo Maruyama
?
PPTX
プログラミング入門 Ruby超入門編
ナレッジコミュニケーション
?
PDF
Ruby の正規表現について
Tomoya Kawanishi
?
PPT
Start!! Ruby
mitim
?
PDF
メタメタプログラミング搁耻产测
emasaka
?
PDF
Ruby の文字列について
Tomoya Kawanishi
?
PDF
Rake
Tomoya Kawanishi
?
PDF
RubyのDir、File、IO について
Tomoya Kawanishi
?
KEY
Rails基礎講座 part.1
Jun Yokoyama
?
ODP
Ruby For Work
bash0C7
?
PDF
Ruby 2.5
Masahiro Tomita
?
PPTX
Ruby – The Scripting Language
Akio Tajima
?
PDF
Ruby の String のメソッドについて
Tomoya Kawanishi
?
PDF
C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1
耕平 谷口
?
PDF
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Tomoya Kawanishi
?
PDF
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
mametter
?
Ruby での外部コマンドの実行について
Tomoya Kawanishi
?
第1部「一时间で覚える谤耻产测」
Hiromu Shioya
?
とっとるびー(2回目)発表资料
ionis111
?
Ruby の制御構造とリテラルについて
Tomoya Kawanishi
?
プログラミング言語Ruby 1章 イントロダクション
Ryo Maruyama
?
プログラミング入門 Ruby超入門編
ナレッジコミュニケーション
?
Ruby の正規表現について
Tomoya Kawanishi
?
Start!! Ruby
mitim
?
メタメタプログラミング搁耻产测
emasaka
?
Ruby の文字列について
Tomoya Kawanishi
?
Rake
Tomoya Kawanishi
?
RubyのDir、File、IO について
Tomoya Kawanishi
?
Rails基礎講座 part.1
Jun Yokoyama
?
Ruby For Work
bash0C7
?
Ruby 2.5
Masahiro Tomita
?
Ruby – The Scripting Language
Akio Tajima
?
Ruby の String のメソッドについて
Tomoya Kawanishi
?
C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1
耕平 谷口
?
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Tomoya Kawanishi
?
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
mametter
?
Ad
More from Tomoya Kawanishi
(20)
PPTX
英単语の覚え方
Tomoya Kawanishi
?
PDF
ENECHANGE社での Scout APM 利用事例
Tomoya Kawanishi
?
PDF
エンジニア転职のノウハウ
Tomoya Kawanishi
?
PDF
Ruby on Rails のキャッシュ機構について
Tomoya Kawanishi
?
PDF
搁耻产测初心者からよく质问されること
Tomoya Kawanishi
?
PDF
RubyGems と Bundler について
Tomoya Kawanishi
?
PDF
AWS のコスト管理をちゃんとしたくてやったこと
Tomoya Kawanishi
?
PDF
PostgreSQL のイケてるテクニック7選
Tomoya Kawanishi
?
PDF
HTTPと Webクローリングについて
Tomoya Kawanishi
?
PDF
Active record query interface
Tomoya Kawanishi
?
PDF
Active Support のコア拡張機能について
Tomoya Kawanishi
?
PDF
Thread の利用事例紹介
Tomoya Kawanishi
?
PDF
RubyGems と Bundler について
Tomoya Kawanishi
?
PDF
Ruby on Rails プロジェクトでの他言語エコシステムとの共存方法
Tomoya Kawanishi
?
PDF
マークアップで使える搁耻产测
Tomoya Kawanishi
?
PPTX
エネチェンジでの Side ci 利用事例について
Tomoya Kawanishi
?
PDF
础奥厂コストの事业部别コスト配分について
Tomoya Kawanishi
?
PDF
Pry による repl 駆動開発について
Tomoya Kawanishi
?
PDF
Module での名前解決について
Tomoya Kawanishi
?
PPTX
Tsort について
Tomoya Kawanishi
?
英単语の覚え方
Tomoya Kawanishi
?
ENECHANGE社での Scout APM 利用事例
Tomoya Kawanishi
?
エンジニア転职のノウハウ
Tomoya Kawanishi
?
Ruby on Rails のキャッシュ機構について
Tomoya Kawanishi
?
搁耻产测初心者からよく质问されること
Tomoya Kawanishi
?
RubyGems と Bundler について
Tomoya Kawanishi
?
AWS のコスト管理をちゃんとしたくてやったこと
Tomoya Kawanishi
?
PostgreSQL のイケてるテクニック7選
Tomoya Kawanishi
?
HTTPと Webクローリングについて
Tomoya Kawanishi
?
Active record query interface
Tomoya Kawanishi
?
Active Support のコア拡張機能について
Tomoya Kawanishi
?
Thread の利用事例紹介
Tomoya Kawanishi
?
RubyGems と Bundler について
Tomoya Kawanishi
?
Ruby on Rails プロジェクトでの他言語エコシステムとの共存方法
Tomoya Kawanishi
?
マークアップで使える搁耻产测
Tomoya Kawanishi
?
エネチェンジでの Side ci 利用事例について
Tomoya Kawanishi
?
础奥厂コストの事业部别コスト配分について
Tomoya Kawanishi
?
Pry による repl 駆動開発について
Tomoya Kawanishi
?
Module での名前解決について
Tomoya Kawanishi
?
Tsort について
Tomoya Kawanishi
?
Ad
Recently uploaded
(9)
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
色について.pptx .
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
Ruby のワンライナーについて
1.
Ruby のワンライナーについて 2019/02/20 大手町.rb #14
2.
大手町.rb #14 「Rubyのワンライナーについて」 1自己紹介 Tomoya
Kawanishi a.k.a. @cuzic エネチェンジ株式会社 チーフエンジニア 電力会社、ガス会社を切り替えるなら、エネチェンジ経由で! 一般家庭も!法人も! Ruby関西の中の人 発表者として登壇くださる方、あとで声かけください。 大手町.rb の中の人 毎月 大手町.rb の開催を予定 東京駅、各線大手町駅から直結! Ruby の初級者がメインターゲット
3.
大手町.rb #14 「Rubyのワンライナーについて」 今日のテーマ Ruby
のワンライナーについて ワンライナーとは ruby –e など、一行でいろんなことを実現することです。 シェル上でさくっと実行できる使い捨てのスクリプト たった1行でたくさんのことを実施できます 2
4.
大手町.rb #14 「Rubyのワンライナーについて」 表示 -e
オプションの引数を Ruby スクリプトと解釈します 計算?四則演算 順列組合せをすべて表示する Ruby にはイケてるメソッドがたくさん ワンライナーで実行することで、shell のコマンド履歴 に残る あとで、もう一度使いたいときに検索しやすい ワンライナーの基本 3 ruby -e 'puts 70/(1.75*1.75)' # 体重70Kg、身長 175cm の BMI ruby -e 'puts "Hello, World!"' ruby -e 'puts [1,2,3].permutation(2).map{|a| a.join(",")}'
5.
大手町.rb #14 「Rubyのワンライナーについて」 拡張ライブラリの利用 -r
で拡張ライブラリを読み込めます ランダムな文字列を表示する -r のあとに半角空白を書いても書かなくても正しく動作します YAML を JSON に変換する -r を複数回書くこともできます 4 ruby -r securerandom -e 'puts SecureRandom.hex' #=> 99a92ed098bdfaac8a27816220b76c89 ruby -rsecurerandom -e 'puts SecureRandom.uuid' #=> d528c944-dfcd-4ccf-bc33-4431024b5cfc ruby -ryaml -rjson -e ? 'puts YAML.load_file("config/locales/ja.yml").to_json' #=> {"ja": 略 }
6.
大手町.rb #14 「Rubyのワンライナーについて」 ワンライナーで特に有用な
un un (unix ライクコマンドのユーティリティ) Windows でも Unix と同様にワイルドカードを認識できる 特に httpd が他のマシンとのデータ交換などの目的で便利 5 ruby -run -e cp -- [-prv] SOURCE DEST ruby -run -e ln -- [-sfv] TARGET LINK_NAME ruby -run -e mv -- [-v] SOURCE DEST ruby -run -e rm -- [-frv] FILE ruby -run -e mkdir -- [-pv] DIRS ruby -run -e rmdir -- [-v] DIRS ruby -run -e install -- [-pv -m mode] SOURCE DEST ruby -run -e chmod -- [-v] OCTAL-MODE FILE ruby -run -e touch -- [-v] FILE ruby -run -e wait_writable -- [OPTION] FILE ruby -run -e mkmf -- [OPTION] EXTNAME [OPTION] ruby -run -e httpd -- [OPTION] DocumentRoot ruby -run -e help [COMMAND]
7.
大手町.rb #14 「Rubyのワンライナーについて」 -n
: 入力を受け取り、順次処理する 正規表現にマッチする行を表示する 上と同じ。 「$_ =~」 は省略可。 -ne とも短縮可 print を使うと、引数 $_ を省略できる 6 ruby –n -e 'puts $_ if $_ =~ %r(18/Feb/2019)' ruby –ne 'puts $_ if %r(18/Feb/2019)' ruby –ne 'print if %r(18/Feb/2019)'
8.
大手町.rb #14 「Rubyのワンライナーについて」 -p
: 入力を受け取り加工後出力する 大文字に変換する 各行の $_ の内容を表示する とはいえ、Ruby では単に puts を使う方が自然な気がする 7 echo -e "abc?nabcde?nabcdefg?n" | ruby -pe '$_ = $_.upcase' ABC ABCDE ABCDEFG ruby -ne 'puts $_.upcase'
9.
大手町.rb #14 「Rubyのワンライナーについて」 -a
: 空白区切りで配列として受け取る PPID が 1 のプロセスを一覧表示 空白区切りで分割した結果がグローバル変数 $F に入る $F は文字列の配列。 特定の IP アドレスからのユーザのアクセスを調査 上記の 6 とか 0 とかの部分はログフォーマットで異なるので 適宜修正してください。 $F[6] にアクセスしているパスが入っている想定です 8 ps -ef | ? ruby -ane 'puts $F.values_at(0,1,7).join(",") if $F[2] == "1"' cat log/nginx-access.log | ? ruby –ane 'puts $F[6] if $F[0] == "xxx.xxx.xx.xx"'
10.
大手町.rb #14 「Rubyのワンライナーについて」 -F
: -a で区切るときの文字を指定する /etc/passwd で : で区切り、最初の要素を表示 $F[-1] で最後の要素にアクセスできる $F.last でも最後の要素にアクセスできる 9 cat /etc/passwd | ? ruby –anF: -e 'puts $F[0]' cat /etc/passwd | ? ruby –anF: -e 'puts $F[0] if $F[-1].chomp.end_with?("sh")' cat /etc/passwd | ? ruby –anF: -e 'puts $F[0] if $F.last.chomp.end_with?("sh")'
11.
大手町.rb #14 「Rubyのワンライナーについて」 -e
を複数回書く場合 -e は複数回 書ける。 複数回書くと、それぞれが改行区切りで順にあるように 解釈される 上記のスクリプトを使うと最新の manifest ファイルで アセットの対応関係を表示することができる 10 ls -1t public/assets/manifest-*.json | ? head -n 1 | ? ruby -r json –e 'json = JSON.load(open(ARGF.read.chomp).read)' ? -e 'puts json["assets"].map{|v| v.join("?t")}'
12.
大手町.rb #14 「Rubyのワンライナーについて」 BEGIN
、END BEGIN で前処理、END で後処理を書くことができる 下記の例では、BEGIN で変数の初期化 END で計算後の出力処理を実施している 11 aws cloudwatch get-metric-statistics ? --metric-name RequestCount ? --start-time $(date -u -d "1 hour ago" +%FT%H:00:00) ? --end-time $(date -u +%FT%H:00:00) ? --period 60 --namespace AWS/ELB --statistics Sum ? --dimensions Name=LoadBalancerName,Value=prod-front ? --query "Datapoints[]" --output text | ? ruby -ane 'BEGIN{ $min, $max = Float::INFINITY, 0 }' ? -e '$max, $max_time = $F[0].to_f, $F[1] if $max < $F[0].to_f' ? -e '$min, $min_time = $F[0].to_f, $F[1] if $min > $F[0].to_f' ? -e 'END{ puts "#{$max_time} max: #{$max}"; puts "#{$min_time} min: #{$min}"}'
13.
大手町.rb #14 「Rubyのワンライナーについて」 まとめ Ruby
のワンライナーを作るときのテクを紹介しました ちょっとしたときにとても便利です コマンド実行履歴で検索できるのも、便利です。 キメるととても気持ちいい! ? Happy Engineer Life を! 12
14.
ご清聴ありがとう ございました
Download