ぶちのブログ

競プロとCTFが趣味なWebエンジニアのアウトプットの場

【小ネタ】Amazonの商品リンクを整形するワンライナー(Mac用)

TL;DR

pbpaste | ruby -e "print \"https://www.amazon.co.jp/dp/#{gets.match(/dp\/(\w+)($|\/)/)[1]}\"" | pbcopy

クリップボードAmazonの商品リンクのURLをコピーし、このワンライナーを流すと、クリップボードに不要な部分が除去されたURLがコピーされます。

はじめに

Amazonのリンクを人に紹介するときに、毎回不要な部分を消すのがめんどくさいので、適当にワンライナーで処理できるようにしたかった、

(一応)解説

pbpaste | 処理 | pbcopy

とすると、クリップボードの中の文字を変更できる。(例えばjqとかを入れても便利)

処理部分で雑にRubyの文字列操作を行う。
AmazonのLinkの中で/\/dp\/(\w+)($|\/)/という正規表現にマッチする部分(/dp/英数字/または~/dp/英数字(文末))について、英数字の部分を取り出し、URLに埋め込んでいる。