カールを使用して複数のURLとドキュメントを取得する方法を学ぶ

カールを使用して複数のURLとドキュメントを取得する方法を学ぶ

curl主に文書の説明を完全に理解していないため、複数の文書を使用する方法は不明です。curl

カール文書によると、

-o, --output <file>
              Write output to <file> instead of stdout. If you are using {}  or  []  to  fetch
              multiple  documents,  you  can use '#' followed by a number in the <file> speci‐
              fier. That variable will be replaced with the current string for the  URL  being
              fetched. Like in:

               curl http://{one,two}.example.com -o "file_#1.txt"

              or use several variables like:

               curl http://{site,host}.host[1-5].com -o "#1_#2"
  • curl上記のブロックの「変数」はコマンドのどの部分を参照しますか?

  • ブロック引用符は、次を使用して、カールがインポートする複数のURLを指定できることを示しています http://{one,two}.example.com。使用すると、{}上記の完全なURLが次に展開されます。

http://one.example.com
http://two.example.com 

インポート操作が始まる前ですかcurl

このcurl文書には、次の内容も記載されています。

        or you can get sequences of alphanumeric series by using [] as in:

         ftp://ftp.example.com/file[1-100].txt

         ftp://ftp.example.com/file[001-100].txt    (with leading zeros)

         ftp://ftp.example.com/file[a-z].txt
  • []拡張もこれを行うようですが、{}リモートファイル名は正しいはずですかfile1, file2, file3, ... file100file[1-100].txtつまり、番号付きのファイル名にのみ機能します。たとえば、そのfile[1-100].txtURLにファイルがある場合でもfile1, file2, file3,... file100機能しますか?file 1, file3 file5 ... file99
  • カール文書では、URL全体を二重引用符で囲んでシェル拡張を保護または保護することをお勧めしますが、[]シェル拡張を使用または使用するのと同じですか? :{}[]{}
    When using [] or {} sequences when invoked from a command  line  prompt,  you  probably
       have  to put the full URL within double quotes to avoid the shell from interfering with
       it. This also goes for other characters treated special, like for example '&', '?'  and
       '*'.
    

ベストアンサー1

多くの質問が一つにまとめられています。

  • 上記の引用では、「変数」はカールコマンドのどの部分を参照していますか?
    変数#1 です#2
  • [...]を使用すると、カールのインポート操作が開始される前に上記{}のURL全体が拡張されますか?
    はい、これはシェルなどの中括弧拡張ですが、curl拡張を実行できるように引用符で保護されています。
  • []拡張もこれを行うようですが、{}リモートファイル名は正しいはずですかfile1, file2, file3, ... file100
    file[1-99:2]いいえ、例のようにビューを提供することもできます。
  • カール文書では、URL全体を二重引用符で囲んでシェル拡張から[]または{}を保護することをお勧めしますが、[]シェル拡張を使用しているか同じですか?{}
    構文は中{}括弧拡張と同じですが、シーケンス拡張は異なります。その理由は保護しなければならない理由です。シェルが拡張されている場合、curl変数が何であるかをどうやって知ることができますか?シェルが展開されると、http://{one,two}.foo.com変数はcurl表示されますが、変数は表示されません。保護されたデフォルト変数を見ると、最初の変数がまたはであることがわかります。http://one.foo.comhttp://two.foo.com#1onetwo

おすすめ記事