কার্ল ব্যবহার করে কোনও ফাইলের তালিকাভুক্ত ইউআরএল ডাউনলোড করবেন? [বন্ধ]


15

আমার কাছে একটি ফাইল রয়েছে যা থেকে সমস্ত ইউআরএল রয়েছে যা থেকে আমার ডাউনলোড করা দরকার। তবে আমার একবারে একটি ডাউনলোড সীমাবদ্ধ করা দরকার। অর্থাত্‍ পূর্ববর্তী ডাউনলোড শেষ হয়ে গেলেই পরবর্তী ডাউনলোড শুরু করা উচিত। এটি কি কার্ল ব্যবহার করে সম্ভব? অথবা আমার অন্য কিছু ব্যবহার করা উচিত।


3
হ্যালো এবং সার্ভারফোল্টে আপনাকে স্বাগতম। এই সাইটে প্রশ্ন জিজ্ঞাসা করার সময়, দয়া করে সর্বদা মনে রাখবেন যে আমরা আপনার জায়গায় নেই এবং আপনি কী পরিবেশটি ব্যবহার করছেন তা অনুমান করতে পারি না। এই ক্ষেত্রে, আপনি কোন ওএস চালাচ্ছেন তা নির্দিষ্ট করে দেয় নি যা সঠিকভাবে আপনাকে উত্তর প্রদান করবে।
স্টিফেন

উত্তর:


20
xargs -n 1 curl -O < your_files.txt

2
এটি সেরা উত্তর। যদিও প্রশ্নকর্তা নির্দিষ্ট না করে, সমস্ত ইউআরএলের প্রতিক্রিয়া স্বতন্ত্র ফাইলগুলিতে লেখা উচিত বলে ধরে নেওয়া নিরাপদ। এটি -Oকরতে সিআরএল সহ বিকল্পটি ব্যবহার করুন । xargs -n 1 curl -O < your_file.txt
এলএস

আমি রাজী. তাই সম্পাদিত।
গ্রুমড্রিগ

এটি আমার সত্যই দরকার।
vu নেতৃত্ব

19

wget(1) ডিফল্ট দ্বারা পর্যায়ক্রমে কাজ করে এবং এই বিকল্পটি অন্তর্নির্মিত রয়েছে:

   -i file
   --input-file=file
       Read URLs from a local or external file.  If - is specified as file, URLs are read from the standard input.  (Use ./- to read from a file literally named -.)

       If this function is used, no URLs need be present on the command line.  If there are URLs both on the command line and in an input file, those on the command lines will be the first ones to be retrieved.  If
       --force-html is not specified, then file should consist of a series of URLs, one per line.

       However, if you specify --force-html, the document will be regarded as html.  In that case you may have problems with relative links, which you can solve either by adding "<base href="url">" to the documents
       or by specifying --base=url on the command line.

       If the file is an external one, the document will be automatically treated as html if the Content-Type matches text/html.  Furthermore, the file's location will be implicitly used as base href if none was
       specified.

3
যেহেতু প্রশ্নকর্তা সিআরএল ব্যবহার করে এটি করতে চান তা জানতে চেয়েছিলেন, আপনার অন্তত একটি সমাধান অন্তর্ভুক্ত করা উচিত যা এটি ব্যবহারের চেষ্টা করে।
এলএস

4

শেল স্ক্রিপ্টের মধ্যে কার্ল ব্যবহার করে এটি সম্ভব, এরকম কিছু তবে আপনার নিজের জন্য কার্ল ইত্যাদির জন্য উপযুক্ত বিকল্পগুলি গবেষণা করতে হবে

while read URL
    curl some options $URL
    if required check exit status 
          take appropriate action
done <fileontainingurls

2
আমি বুঝি এটি অর্ধেক সিউডোকোড তবে আমি মনে করি যে লুপের সময় "ডু" থাকা উচিত।
nwk

1
@nwk এটি সম্পূর্ণ সিউডোকোড এবং আমি একমত নই।
ব্যবহারকারী 9517

যদি কোনও ইউআরএল এম্পারস্যান্ড থাকে তবে কী হবে? তারা পালাতে পারবে? শেলটি না ছাড়াই ভাববে যে কমান্ডটি পটভূমিতে চালানো উচিত।
জাগার

2

@ আইইন উত্তরের ভিত্তিতে, তবে সঠিক শেল স্ক্রিপ্টিং ব্যবহার করে -

while read url; do
  echo "== $url =="
  curl -sL -O "$url"
done < list_of_urls.txt

অ্যাম্পারস্যান্ডস ইত্যাদির মতো অদ্ভুত অক্ষরগুলির সাথেও কাজ করবে ...

-Oপরিবর্তে একটি ফাইলের মধ্যে পুনর্নির্দেশের সাথে প্রতিস্থাপন করতে পারে বা যা উপযুক্ত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.