URL エンコードされた文字列をデコードして使いたい時がありますよね。
bash のfunction で書いてみました。
csh ならalias で書けそうです。

環境

  • WSL (Ubuntu 18.04)

構築

  1. nkf パッケージのインストール
$ sudo apt install nkf
  1. function(関数)の定義
~/.bash_aliases
# URL Encode / Decode
function urlencode {
echo $1 | nkf -WwMQ | tr = % | sed ':a;N;$!ba;s/%\n//g'
}

function urldecode {
echo $1 | nkf -w --url-input
}

実行

  • 再ログインする
  • 即時反映したい場合
$ . ~/.bash_aliases

利用

  • URL エンコード (対象のURL文字列をダブルクォートで囲います)
$ urlencode "https://ktkr3d.github.io/こんな URL/そんな階層/"
https%3A%2F%2Fktkr3d%2Egithub%2Eio%2F%E3%81%93%E3%82%93%E3%81%AA%20URL%2F%E3%81%9D%E3%82%93%E3%81%AA%E9%9A%8E%E5%B1%A4%2F
  • URL デコード (対象のURL文字列をダブルクォートで囲います)
$ urldecode "https%3A%2F%2Fktkr3d%2Egithub%2Eio%2F%E3%81%93%E3%82%93%E3%81%AA%20URL%2F%E3%81%9D%E3%82%93%E3%81%AA%E9%9A%8E%E5%B1%A4%2F"
https://ktkr3d.github.io/こんな URL/そんな階層/