Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Many Tips.

aws-cli

Tips

タグ Name の値について test という値に部分一致するインスタンスの情報を取得する。
ワイルドカードが使えるっぽい。
jq で後から絞り込みをかけるより、こちらのほうがAWS流でスマートかもしれない。

aws ec2 describe-instances --filters Name=tag-key,Values=Name Name=tag-value,Values="*test*"

curl

curl -o /path/to/save_file http://www.example.com/some/file

References

  1. curlの使い方
/**
* CSSのfont-family:ヒラギノとMS Pゴシックとメイリオの悩ましい関係 - webデザイナーのナナメガキ
* http://loconet.web2.jp/blog/archives/2007/02/cssfontfamily.html
*/
body {
font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック',sans-serif;
}
# -*- coding: utf-8 -*-
Feedly
セキュリティ
http://www.jpcert.or.jp/rss/jpcert.rdf
ITPro
http://itpro.nikkeibp.co.jp/rss/ITpro.rdf
ライフハッカー
http://feeds.lifehacker.jp/rss/lifehacker/index.xml
スラッシュドット・ジャパン
http://rss.rssad.jp/rss/slashdot/slashdot.rss
はてなブックマーク
http://b.hatena.ne.jp/hotentry/it.rss
http://feeds.feedburner.com/hatena/b/hotentry
クラスメソッド AWS
http://dev.classmethod.jp/category/aws/feed/
Amazon Web Services ブログ
http://feeds.feedburner.com/AmazonWebServicesBlogJp?format=xml
Amazon Web Services Blog
http://feeds.feedburner.com/AmazonWebServicesBlog
Publickey
http://www.publickey1.jp/atom.xml
naoyaのはてなダイアリー
http://d.hatena.ne.jp/naoya/rss
Glide Note - グライドノート
http://feeds.feedburner.com/glidenote

jq

Installation

sudo curl -o /usr/local/bin/jq http://stedolan.github.io/jq/download/linux64/jq && sudo chmod +x /usr/local/bin/jq

Tips

指定した値に Name が部分一致(正確にはマッチ)するインスタンス情報を取得する

test というName属性値にマッチするインスタンス情報を列挙する例。

% aws ec2 describe-instances | jq '.Reservations [] .Instances [] | select(has("Tags") and (.Tags [] | .Key == "Name" and (.Value | index("test") != null)))'

すべてのインスタンス情報を主要な属性のみ絞り込んで取得する

% aws ec2 describe-instances | jq '.Reservations [] .Instances [] | { Name: (if has("Tags") then (.Tags [] | select(.Key == "Name") | .Value) else null end), InstanceId: .InstanceId, PublicDnsName: .PublicDnsName, PublicIpAddress: .PublicIpAddress, State: .State .Name, InstanceType: .InstanceType, AvailabilityZone: .Placement .AvailabilityZone }'

指定した値に Name が部分一致(正確にはマッチ)するインスタンス情報を取得する(主要な属性のみ)

test というName属性値にマッチするインスタンス情報を列挙する例。
上の属性絞り込みの合わせ技。黒魔術・・・。

% aws ec2 describe-instances | jq '.Reservations [] .Instances [] | select(has("Tags") and (.Tags [] | .Key == "Name" and (.Value | index("test") != null))) | { Name: (.Tags [] | select(.Key == "Name") | .Value), InstanceId: .InstanceId, PublicDnsName: .PublicDnsName, PublicIpAddress: .PublicIpAddress, State: .State .Name, InstanceType: .InstanceType, AvailabilityZone: .Placement .AvailabilityZone }'

References

  1. jq Manual
  2. jq コマンドが強力すぎてヤバい件 | CUBE SUGAR STORAGE
  3. 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | Developers.IO
# -*- mode: ruby -*-
# vi: set ft=ruby :
User-agent: *
Disallow: /
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment