Tukubaiオンラインコマンドマニュアル - uriencode(1)
uriencode(1)
【名前】
uriencode
: URI エンコードを行なう
【書式】
Usage : uriencode [file] uriencode [field] ... [file] uriencode num=[n] [file] uriencode -a [file] Version : Tue Mar 21 09:07:51 JST 2023
【説明】
標準入力を読み込み、引数で指定されたポリシーにしたがって、入力データ を RFC 3986 で定義された URI エンコードを行います。エンコード方式は パーセントエンコードです。エンコード対象の文字は非予約文字以外です。 RFC 3986 では、ASCIIのコード範囲内の英字(大文字・小文字)、数字、ハ イフン '-'、ピリオド '.'、アンダースコア '_'、チルダ '~' を非予約文 字としています。
後述する全体エンコードモード以外の動作モードでは、'\' をエスケープ文 字と解釈します。'\\' は '\'、'\n' は改行文字と解釈されます。他の文字 が続く '\' は無視されます。
<file> を指定しないか "-" を指定した場合は標準入力を読み込みます。
【例1】 (行単位エンコード : のみを指定した場合)
<file> のみを指定した場合は、一行毎にエンコードします。改行文字はエ ンコードされず、そのまま出力されます。'\' はエスケープ文字と解釈されます。
$ cat data a b c d e あ い\\ う\n え お か き く け こ $ uriencode data a%20b%20c%20d%20e %E3%81%82%20%E3%81%84%5C%20%E3%81%86%0A%20%E3%81%88%20%E3%81%8A %E3%81%8B%20%E3%81%8D%20%E3%81%8F%20%E3%81%91%20%E3%81%93
【例2】 (フィールドエンコード : フィールドを指定した場合)
フィールドを指定した場合は、指定されたフィールドのみをエンコードしま す。フィールド指定には NF や NF-1 なども使えます。連続したフィールド を指定する場合は 3/5 のように指定することができます。フィールドは昇 順に指定します。空白と改行文字はエンコードされず、そのまま出力されま す。'\' はエスケープ文字と解釈されます。
$ uriencode 1 3 5 data a b c d e %E3%81%82 い\\ %E3%81%86%0A え %E3%81%8A %E3%81%8B き %E3%81%8F け %E3%81%93
【例3】 (先頭スキップエンコード : num オプションを指定した場合)
num オプションを指定した場合は、行頭の <n> フィールドをそのまま出力 し、それ以降から行末までをエンコードします。エンコード対象部分の 空白は連続していてもそのままエンコードされます。改行文字はエンコードされず、 そのまま出力されます。'\' はエスケープ文字と解釈されます。
$ uriencode num=2 data a b c%20d%20e あ い\\ %E3%81%86%0A%20%E3%81%88%20%E3%81%8A か き %E3%81%8F%20%E3%81%91%20%E3%81%93
【例4】 (全体エンコード : -a オプションを指定した場合)
-a オプションを指定した場合は、ファイル全体をエンコードします。空白 や改行文字もエンコードされます。'\' はエスケープ文字と解釈されず、 そのままエンコードされて出力されます。
$ uriencode -a < data a%20b%20c%20d%20e%0A%E3%81%82%20%E3%81%84%5C%5C%20%E3%81%86%5Cn%20 %E3%81%88%20%E3%81%8A%0A%E3%81%8B%20%E3%81%8D%20%E3%81%8F%20%E3%81 %91%20%E3%81%93%0A
このモードでは出力の末尾に改行文字はありません。