次のコードは、Web サイトからすべてのドメイン名を抽出し$domain
、httrack
データ ストリームの値に設定します。
domain=$(httrack --skeleton http://www.ilovefreestuff.com -V "cat \$0" | grep -iEo '[[:alnum:]-]+\.(com|net|org)')
$domain の値は次のようになります...
googlesyndication.com facebook.com facebook.com ilovefreestuff.com ilovefreestuff.com facebook.com facebook.com ilovefreestuff.com ilovefreestuff.com peadig.com facebook.net ilovefreestuff.com w3.org ilovefreestuff.com yoast.com ilovefreestuff.com
データベースのセットアップがあり、このコマンドは完全に機能します。
mysql -pPASSWORD -e "INSERT INTO domains.domains (domains) VALUES ($domain)”
変数内の個々のドメインを、1 つの結合されたコマンド ライン内でデータ ストリーム$domain
からオンザフライで MySQL データベースに挿入しようとしています。httrack
私のクレイジーな考えでは、以下のように見えるはずです... 残念ながら、これは機能しません。出力が得られず、別の bash プロンプトが表示されます。
domain=$(httrack --skeleton http://www.ilovefreestuff.com -V "cat \$0" | grep -iEo '[[:alnum:]-]+\.(com|net|org)') | mysql -pPASSWORD -e "INSERT INTO domains.domains (domains) VALUES ($domain)"
$domain
MySQL データ セルごとに 1 つのドメインを入力できるように、変数を個々のドメインに分割する方法がわかりません。また、コマンドがデータ ストリームである場合に、結果を MySQL にパイプする方法もわかりません。たぶん、for ループとカット コマンドが必要ですか?