উইজেটে ফাইল উপস্থিত থাকলে ডাউনলোড এড়িয়ে যাবেন?


উত্তর:


268

নিম্নলিখিত পরামিতি চেষ্টা করুন:

-nc, --no-clobber: বিদ্যমান ফাইলগুলিতে ডাউনলোড হবে এমন ডাউনলোডগুলি এড়িয়ে যান।

নমুনা ব্যবহার:

wget -nc http://example.com/pic.png

34
-ncএইচটিটিপি অনুরোধ প্রেরণ এবং পরবর্তী সময়ে ফাইল ডাউনলোড করা বাধা দেয় না। ফাইলটি ডাউনলোড করার পরে ফাইলটি ইতিমধ্যে পুরোপুরি পুনরুদ্ধার করা থাকলে এটি কিছুই করে না। ফাইলটি ইতিমধ্যে বিদ্যমান থাকলে এইচটিটিপি অনুরোধ করা বাধা দেওয়ার কি কোনও উপায় আছে? stackoverflow.com/questions/33203898/...
ma11hew28

8
লিঙ্কযুক্ত প্রশ্নে উল্লিখিত হিসাবে, আমি দ্বিমত পোষণ করছি - যদি নো-ক্লোবার ব্যবহার করা হয় এবং ফাইলের নামটি উপস্থিত থাকে তবে তা উপস্থিত থাকে। এমনকি কোনও প্রধান অনুরোধ নেই। এমনকি যদি এটি না হয়, আপনার কাছে শুরু করার জন্য একটি ফাইল আছে কিনা তা পরীক্ষা করুন :-)[ ! -e "$(basename $URL)" ] && wget $URL
প্লুন্ড্রা

3
আমি --recursiveবিকল্পটি ব্যবহার করছি বলে আমি মনে করি কারণ আমি বিকল্পটি ব্যবহার করছি ।
ma11hew28

197

-nc, --no-clobberবিকল্প সবচেয়ে ভালো সমাধান হিসেবে নতুন ফাইল ডাউনলোড করা হবে না নয়। এর -Nপরিবর্তে এমন একটি ব্যবহার করা উচিত যা সার্ভারের একটি নতুন সংস্করণ থাকে তবেই ফাইলটি ডাউনলোড এবং ওভাররাইট করা হবে, সুতরাং সঠিক উত্তরটি হ'ল:

wget -N http://www.example.com/images/misc/pic.png

তারপর -n Wget- এর চলমান, সহ বা ছাড়া -rবা -pহোক বা না হোক একটি ফাইল এর একটি নতুন কপি ডাউনলোড করার হিসেবে সিদ্ধান্ত স্থানীয় ও দূরবর্তী টাইমস্ট্যাম্প এবং ফাইলের আকারের উপর নির্ভর করে। -ncহিসাবে একই সময়ে নির্দিষ্ট করা যাবে না -N

-N, --timestamping: টাইম স্ট্যাম্পিং চালু করুন।


39
যখন সার্ভারটি সঠিকভাবে কনফিগার করা হয়নি তখন -Nব্যর্থ হতে পারে এবং উইজেটটি সর্বদা পুনরায় ডাউনলোড হবে। তাই কখনও কখনও -ncভাল সমাধান হয়।
ব্যবহারকারী

2
যেখানে 'সার্ভারটি সঠিকভাবে কনফিগার করা হয়নি' এমন প্রযোজ্য পরিস্থিতি কী হতে পারে?
অজয় কুমারবাসুথকর

যখন আপনি কোনও টাইমস্ট্যাম্পগুলি পরিবর্তন করে অনুলিপি করা কোনও অবস্থান থেকে ডাউনলোড করছেন।
রবার্ট

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

2
@ অজয়কুমারবাসুথকার: সার্ভার যখন নতুন ফাইল অনুসন্ধানের কোনও উপায় সমর্থন করে না, wgetঅভিযোগ করবে Last-modified header missing; এটি হ'ল পরিস্থিতিটির রূপরেখা।
পিসকভোর

23

উইজেটটি সাথে -rবা চলার সময় -p, কিন্তু ছাড়াই -N, -ndবা ছাড়াই , বা -ncকোনও ফাইল পুনরায় ডাউনলোড করার ফলে নতুন অনুলিপিটি পুরানোটিকে কেবল ওভাররাইট করে দেবে।

সুতরাং যুক্ত করা -ncএই আচরণটিকে প্রতিরোধ করবে, পরিবর্তে মূল সংস্করণটি সংরক্ষণ করা হবে এবং সার্ভারে থাকা কোনও নতুন অনুলিপি উপেক্ষা করা হবে।

জিএনইউতে আরও তথ্য দেখুন।


18

আমি যে উত্তরটি সন্ধান করছিলাম তা হ'ল https://unix.stackexchange.com/a/9557/114862

-cস্থানীয় ফাইলটি যখন সার্ভার সংস্করণে বৃহত্তর বা সমান আকারের হয় তখন পতাকা ব্যবহার করা পুনরায় ডাউনলোড করা এড়াতে পারে।


1
আপনি -i পতাকা সহ একটি গুচ্ছ ফাইল ডাউনলোড করার সময় এটি বিশেষত দুর্দান্ত। wget -i filelist.txt -cফাইলগুলির তালিকার একটি ব্যর্থ ডাউনলোড আবার শুরু করবে।
ট্রেভর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.