uspTukubaiコマンドに関する様々な資料がここにあります。

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

ABC順リスト |  カテゴリ別リスト

(動画教材準備中)

cgi-name

<概要>

cgi-name(USP)

<名前>

cgi-name : CGI POST メソッドで渡されるデータを name 形式に変換する

<書式>

Usage   : cgi-name [-e<c>] [-s<c>] [-n<string>] <param_file>
Option  : [--template <html>]
Version : Thu Apr 16 22:08:28 JST 2015

<説明>

cgi-name は、WEB サーバーの CGI POST メソッドで受け渡されるデータを
name 形式に変換します。

<例1>

WEB サーバーより 'place=tokyo&country=japan' という文字列が渡される
場合、変数 値 という形式(name 形式)に加工されます。

$ echo 'place=tokyo&country=japan' | cgi-name > result
$ cat result
place tokyo
country japan

<例2>

改行(%0D%0A %0D %0A)は、"\n" に変換されます。
$ echo 'place=tokyo%0D%0Aosaka&country=japan' | cgi-name > result
$ cat result
place tokyo\nosaka
country japan

<例3>

-s オプションで半角空白を指定文字に変換します。
$ echo 'place=tokyo osaka&country=japan' | cgi-name -s_ > result
$ cat result
place tokyo_osaka
country japan

<例4>

-s オプションで半角空白を削除します。
$ echo 'place=tokyo osaka&country=japan' | cgi-name -s > result
$ cat result
place tokyoosaka
country japan

<例5>

-e オプションにより、エスケープ(\付加)される文字を指定します。この
場合、文字 '\' (%5C) は '\\' となります。

-s オプションと組み合わせて使うと、'_' は '\_' に、'\' は '\\' に、
' ' は '_' に変換され、完全なエスケープができます。

<例5~1>
$ echo 'place=tokyo_osaka&country=japan' | cgi-name -e_ > result
$ cat result
place tokyo\_osaka
country japan

<例5~2>
$ echo 'place=tokyo%5Cosaka&country=j_a_p_a_n' | cgi-name -e_ > result
$ cat result
place tokyo\\osaka
country j\_a\_p\_a\_n

<例5~3>
$ echo 'place=tokyo osaka&country=j_a_p_a_n' | cgi-name -e_ -s_ > result
$ cat result
place tokyo_osaka
country j\_a\_p\_a\_n

<例6>

-n オプションにより、返される文字列が空文字列の場合の置換文字列を指
定できます。

<例6~1>
$ echo 'place=&country=japan' | cgi-name > result
$ cat result
place
country japan

<例6~2>
$ echo 'place=&country=japan' | cgi-name -n somewhere  > result
$ cat result
place somewhere
country japan

<例7>

--template オプションにより指定した HTML テンプレートより、radio と
checkbox の名称を取り出し、その名称でデータが出力されなければ、出力
をその名称で補完します。これは、radio や checkbox は選択しないで
submit すると、値そのものが出力されません。何も選択しなかったという
データを生成するためにこのオプションを使用します。

$ cat html
<input type="radio" name="XXXX" value="A" />
<input type="radio" name="XXXX" value="B" />
<input type="radio" name="XXXX" value="C" />
<input type="checkbox" name="YYYY" value="a" />
<input type="checkbox" name="YYYY" value="b" />
<input type="checkbox" name="YYYY" value="c" />

$ echo 'XXXX=abcd' | cgi-name -n_ --template html > result
$ cat result
XXXX abcd
YYYY _
YYYY _
YYYY _

<例8>

さらに、radio checkbox が html テンプレートの mojihame -l コマンド対
象部分にあっても、タグ名_%数字を認識して、選択値が無いときでもタグ名
を出力します。

$ cat html
<!-- MOJIHAME -->
<input type="radio" name="X_%1" value="%2" />
<input type="checkbox" name="Y_%1" value="%2" />
<!-- MOJIHAME -->

$ echo 'X_10=abcd' | cgi-name -n_ --template html > result
$ cat result
X_10 abcd
Y _

<備考>

-d 旧オプション(現 -s オプション)は保証されません。
-i 旧オプション(現 -n オプション)は保証されません。