変数展開で文字列を強引に抽出する
一行だけの場合は呼び出すコストがちょっと高い
変数展開でもある程度抽出可能
bashなんかの高機能なシェルだともっと複雑な処理ができる
code:sh
# "args=searchplay&search=hoge"から"searchplay hoge"のみを抽出
# sed
echo "args=searchplay&search=hoge" | sed -e "s/args\=//" -e "s/\&search\=//g"
# awk
echo "args=searchplay&search=hoge" | awk -F'=&' '{print $2,$4}' # 変数展開
var="args=searchplay&search=hoge"
# "var1"に"searchplay&search=hoge"を代入
var1="${var#*\=}"
# "var2"に"searchplay"を代入
var2="${var1%%\&*}"
# "var3"に"hoge"を代入
# 出力
echo "${var2}" "${var3}"
sedやawkのような外部コマンドを呼び出さないのでdashなんかだと高速に処理できる
echoで任意の文字列と組み合わせて出力すれば置換も可能
CGIでクエリやPOSTの処理をする際に便利