0

常にテキストを送信している URL からのすべてのデータ (テキスト) を取得しようとしています。そのため、BASHスクリプトを使用することになりました。

現時点ではwgetを使用しています(CURLでテキストをファイルに出力できませんでした)

wget --tries=0 --retry-connrefused http://URL/ --output-document=./output.txt

したがって、wget はかなりうまく機能しているように見えますが、1 つのことを除けば、スクリプト wget を再起動するたびに、output.txt ファイルがクリアされ、再度入力が開始されますが、これは私が望んでいるものではありません。wgetにtxtファイルに追加するように指示する方法はありますか?

また、これはデータのライブ ストリームをキャプチャする最良の方法ですか? Python などの別の言語を使用する必要がありますか?

4

4 に答える 4

4

できますwget --tries=0 --retry-connrefused $URL -O - >> output.txt

説明: パラメータ-Oは の略で--output-document、ダッシュ-標準出力を意味します。

この行command > fileは、 write " write output of commandto file" をcommand >> file意味し、 " append output of commandto file" を意味します。これは、必要なものです。

于 2009-12-03T10:52:14.977 に答える
1

デフォルトでは、Curl はリダイレクトに従わず、リダイレクトがある場合は何も出力しません。念のため、常に--locationオプションを指定します。を使用する場合は、次curlを試してください。

curl http://example.com --location --silent >> output.txt

この--silentオプションは進行状況インジケーターをオフにします。

于 2009-12-03T12:51:03.800 に答える
0

これを試すことができます:

while true
do
wget -q -O - http://example.com >> filename # -O - 画面に出力
sleep 2 # sleep 2 sec
done

于 2009-12-03T10:48:25.807 に答える
0

curl http://URL/ >> output.txt

>> は出力を curl から output.txt にリダイレクトし、既存のデータに追加します。(単に > output.txt の場合 - 実行するたびに output.txt の内容が上書きされます)。

于 2009-12-03T10:51:55.490 に答える