- t_o_dと申します。
- 効率的な情報収集のため、SlackのRSSフィード機能のfeedコマンドを活用しています。
- 今回は一覧参照の
/feed list
コマンドの出力テキストをyamlに変換する方法を記録いたします。
環境
- mac OS Ventura 13.1
結果
/feed list
で出力される対象のテキスト例は以下とし、格納するファイル名はfeed.txt
とします。- ※出力内容は登録されている各RSSによって異なります。
ID: 123456 - タイトル: xxxさんのフィード
URL: https://xxxx.xxx/xxx/feed
ID: 456789 - タイトル: xxxさんのフィード
URL: https://xxxx.xxx/xxx/feed
ID: 789123 - タイトル: xxxさんのフィード
URL: https://xxxx.xxx/xxx/feed
- ファイル作成後、以下のスクリプトをターミナルに貼り付けて実行すると、「情報が整理されてyamlに変換されたフィード情報」を出力します。
cat feed.txt | awk -F ': ' '
/^ID/{
gsub("[^0-9]","",$2)
gsub("さん.+","",$3)
print "- id:", $2
print " author:", $3
}
/^URL/{
print " url:", $2
}
'
- 実行後、以下のような内容で出力されることを確認します。
- id: 123456
author: xxx
url: https://xxxx.xxx/xxx/feed
- id: 456789
author: xxx
url: https://xxxx.xxx/xxx/feed
- id: 789123
author: xxx
url: https://xxxx.xxx/xxx/feed
- 以上です。
補足
- 以下のようにrubyかyqを利用すれば、簡単にyamlをjsonに変換することが可能です。
# rubyの場合
cat feed.yaml | ruby -ryaml -rjson -e 'puts JSON.pretty_generate(YAML.load(STDIN))'
# yqの場合
cat feed.yaml | yq -o=json
まとめ
- Slackのフィード機能で登録されている情報はデータとしても有益であるため、適切に活用していこうと思います。
参考
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。