উইজেট -o ব্যর্থতা নিয়ে খালি ফাইল লিখেন


14

আমি যদি উইজেট "এর মতো কোনও ঠিকানা" -o "test.html" লিখি না তবে এটি প্রথমে test.html তৈরি করে এবং ব্যর্থতার ক্ষেত্রে এটি খালি রাখে। যাইহোক, -o ব্যবহার না করার সময় ডাউনলোডটি সফল হয় কিনা তা অপেক্ষা করতে হবে এবং তার পরে এটি ফাইলটি লিখবে।

আমি চাই যে পরের আচরণটিও প্রয়োগ করা উচিত, এটা কি সম্ভব?

উত্তর:


17

wget ইউআরএল না পাওয়া গেলে একটি শূন্য-বহির্গমন স্থিতি স্থিতি ফিরিয়ে দেয়, তাই আপনি ব্যর্থতার পরে অপসারণ কমান্ড যুক্ত করতে পারেন:

wget "url" -O file || rm -f file

অথবা একটি অস্থায়ী ফাইল তৈরি করুন এবং কেবল যেখানে সাফল্যে আপনি চান সেখানে স্থানান্তর করুন:

wget "url" -O /tmp/wget && mv /tmp/wget file

দ্বিতীয়টি হ'ল ব্যর্থতার কারণে বিদ্যমান ফাইলটি মুছে না ফেলার সুবিধা রয়েছে, তবে man tempfileআপনি যদি সমান্তরালে একাধিক উদাহরণ চালাচ্ছেন তবে অনন্য অস্থায়ী নামগুলি (দেখুন ) ব্যবহার করতে ভুলবেন না।


এছাড়াও, --retry-connrefused যোগ করা প্রথম স্থানে খালি ফাইল প্রতিরোধে সহায়তা করতে পারে।
akom

যদি পুতুলের ম্যানিফেস্টে কোনও এক্সিকিউটিতে এটি ঘটে থাকে, তবে => "[-s ফাইল]" না হওয়া পর্যন্ত => ফাইলকে পরিবর্তন করে এটিকে স্ব-নিরাময় করতে পারে।
akom

13

মন্তব্যে যেমন লেখা আছে তেমনি এটি wget -O শেল রিডাইরেকশনের মতো যা সর্বদা ত্রুটি নির্বিশেষে ফাইলটিতে লেখায়।

curl -fপরিবর্তে আপনি ব্যবহার করতে পারেন :

curl -f http://nonexistent/file.jpg -o localfile.jpg

ফাইলটি আনার ক্ষেত্রে কোনও ত্রুটি থাকলে এটি স্থানীয় ফাইলটিকে স্পর্শ করবে না।


4

সঠিক বাক্য গঠন

wget "url" -O file

ইউপিআরসিএসই ওকে লক্ষ্য করুন The- অপশনগুলি উইজেটকে লগ ফাইল লিখতে বলে , তাই এটি সর্বদা ব্যর্থতার পরেও লেখা থাকে।


প্রথমে আমি ভেবেছিলাম এটি কাজ করছে, তবে আমি এটি পেয়েছি। " होস্ট.ডোস.নোট.একস্টিস্ট " -ও " খালি ফাইল " উইজেট চেষ্টা করুন একটি ত্রুটি ফিরে এসেছে, তবুও ফাঁকা ফাইল তৈরি করা হয়েছে।
আকুর্টসার

1
@ কর্টসার আপনি ঠিক বলেছেন আমি মনে করি ফাইলটি তৈরি না করার জন্য উইজেটকে বলার উপায় নেই। আমি এই থ্রেডটি পেয়েছি: mail-archive.com/wget@sunsite.dk/msg08586.html যাতে তারা বিষয়টি নিয়ে আলোচনা করে। বেসলাইনটি হ'ল আপনার একই ফাইলটিতে একাধিক ডাউনলোড থাকতে পারে যাতে এটি তৈরি হয় কারণ উইজেট শ্যুর করা যায় না যে সমস্ত url ব্যর্থ হবে।
মিঃ শুঞ্জ

ভাল ধন্যবাদ, এটি আমি লিখছি এমন একটি বাশ স্ক্রিপ্টের একটি অংশ, তাই আমি প্রথমে প্রথমে এটি একটি টেম্প ফাইল সংরক্ষণ করার চেষ্টা করব, যা সফল ডাউনলোডের ক্ষেত্রে, নামকরণ করা হবে। খুব মার্জিত নয়, তবে এর চেয়ে ভাল কিছু ভাবতে পারেন না।
akurtser

1
@ কর্টসার অবশ্যই আপনি উইজেট থেকে রিটার্ন কোডটি চেক করতে পারবেন ... এটি যদি আপনাকে "যদি খুঁজে না পাওয়া যায়" ফাইলটি মুছতে পারে তবে আপনাকে বলা উচিত। সুতরাং টেম্প / নামকরণের দরকার নেই।
মিঃ শুঞ্জ

1
-O বিকল্পটি একটি পুনঃনির্দেশ, যা ডাউনলোড করা সামগ্রী কোনও ফাইলে পুনর্নির্দেশ করে, এমনকী ক্ষেত্রে যখন কোনও সামগ্রী নেই। অতএব, ডাউনলোড ব্যর্থ হওয়া সত্ত্বেও একটি ফাইল সর্বদা তৈরি করা হয়।
কোয়ান থেকে

0

সহায়তা দস্তাবেজের (উইজেট -h) অনুসারে, আপনি ডাউনলোড এড়াতে --spider বিকল্পটি ব্যবহার করতে পারেন (সংস্করণ 1.14)।

Download:
  -S,  --server-response         print server response.
       --spider                  don't download anything.

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