を使用してウェブサイトのHTMLをスクラップしていますcurl
。最初の20行をインポートして外部ファイルに保存したいと思います。約10個のURLをインポートする必要があり、それらをすべて同じファイルに保存したいと思います。結果の上に各ファイルのURLを表示することをお勧めします。私が思いついたのは次のとおりです。
curl http://example.com/url1 | head -20 && curl http://example.com/url2 | head -20 > exportfile
しかし、これは2つの問題を引き起こします。
- これは最新のページのみを保存します(各ステートメントの後に> export fileを置くとファイルが上書きされます)。
- 実際のコマンドはファイルに保存されません。
私が望むようにこれを行う方法はありますか?
答え1
すべてのURLをファイルに保存し(たとえば、urls.txt
1行に1つ)、スクリプトで繰り返すことができます。
#! /bin/bash
# optional, clean up before starting
rm exportfile
while read url ; do
echo "URL: $url" >> exportfile
curl "$url" | head -20 >> exportfile
done < urls.txt
重要なことの1つは、アドイン>>
を使用することです。>
書く。
答え2
これを試してみてください:
{ curl http://example.com/url1 | head -20 \
&& curl http://example.com/url2 | head -20; } > exportfile