シェルスクリプトでURLエンコード・デーコードする方法メモです。
検索すればやり方は色々見つかります。
最初、エンコード・デコード両方ともnkf
を使う方法にしたのですが、長文になるとエンコードがうまくいかなかったため、エンコードはjq
を使うことにしました。
URLエンコード・デコード方法
今のところ下記例で問題なく運用しています。
#!/bin/bash str="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" echo $str encode=$(echo $str | jq -Rr '@uri') echo $encode decode=$(echo $encode | nkf -w --url-input) echo $decode
感想など
コマンドの組み合わせで実装したものだと、本当に合っているか心配ですね。
jq
およびnkf
は、別途インストールが必要ですが、オプションがURLエンコード・デコードを目的とした実装なので大丈夫かなと思い、今回使うことにしました。