bashのHTMLページで特殊な16進文字を変換する方法は? [コピー]

bashのHTMLページで特殊な16進文字を変換する方法は? [コピー]

Webページの一部の情報を処理するスクリプトがあります。ページエンコーディングにより、一部の特殊文字が16進数でエンコードされているようです。たとえば、「/」に翻訳する必要がある文字列「%2f」があります。

bashでこれらの16進特殊文字をASCIIに変換するにはどうすればよいですか?どんなアイデアがありますか?

ベストアンサー1

printfBashには、Cで学んだのとほぼ同じ組み込み機能があります。構文が若干異なります。

printf '\x2f'

より高いレベルのデータ整合性の問題を心配する必要がない場合は、次の関数を使用してURLを簡単に変換できます。

function deUrl() {
    printf "${1//%/\\x}"
}

%(すべてをaに変換し\xてからprintfで印刷します。)

おすすめ記事