Webページの一部の情報を処理するスクリプトがあります。ページエンコーディングにより、一部の特殊文字が16進数でエンコードされているようです。たとえば、「/」に翻訳する必要がある文字列「%2f」があります。
bashでこれらの16進特殊文字をASCIIに変換するにはどうすればよいですか?どんなアイデアがありますか?
ベストアンサー1
printf
Bashには、Cで学んだのとほぼ同じ組み込み機能があります。構文が若干異なります。
printf '\x2f'
より高いレベルのデータ整合性の問題を心配する必要がない場合は、次の関数を使用してURLを簡単に変換できます。
function deUrl() {
printf "${1//%/\\x}"
}
%
(すべてをaに変換し\x
てからprintfで印刷します。)