html を mysql の longtext 列に挿入したいのですが、エラーが発生し続けます:
/usr/bin/mysql: Argument list too long
文字列のサイズが大きすぎる場合(少なくともそれは私が思うことです)
これはコードです:
link="7red.no"
result=$( { stdout=$(wget -T10 -t1 "$link" -v -O -) ; } 2>&1; echo "--SePaRaToR--"; echo "$stdout");
dowload_stat=${result%$'\n'--SePaRaToR--*};
html=${result#*--SePaRaToR--$'\n'};
printf -v dowload_stat "%q" "$dowload_stat"
printf -v html "%q" "$html"
sqlHtml='INSERT INTO `'"${tableHtml}"'` (`extracted_link_ID`, `response_header`, `html`, `download_start`, `download_finish`) VALUES ('"'${link_id}'"', '"${dowload_stat:1}"', '"${html:1}"', '"'${start}'"', '"'${finish}'"');'
mysql -u$dbUser -p$dbPass -h$dbHost -P$dbPort -D$dbName --default_character_set utf8 -A -e "$sqlHtml"
mySQL エスケープや異なる変数での stderr と stdout の出力など、bash ではデフォルトで使用できないものがあるため、ハックを使用してコードを作成しました。
速度が重要であるため、Web インデックス作成/キャッシュ用のワーカー スクリプトでコードを使用する予定です。これにより、2 番目の質問にたどり着きます。bash でこれを行うより高速な方法はありますか?