পুরো ফাইলটি ডাউনলোড না করে কীভাবে ইউআরএল থেকে ফাইল টেল করবেন?


1

আমি একটি সিস্টেম পেয়েছি যা প্রতিদিন খুব বড় পাবলিক ফাইল থেকে সর্বশেষ 200 লাইন পাওয়া দরকার। ফাইলটি একটি ইউআরএল-এর মাধ্যমে উন্মুক্ত। বর্তমানে আমি একটি সরল স্ক্রিপ্ট চালাচ্ছি যা একটি করে wgetএবং এরপরে শেষ 200 লাইনে একটি আলাদা ফাইলে লেজ দেয়, যার পরে মূল ফাইলটি আবার মুছে ফেলা হয়।

কারণ মূল ফাইলটি বেশ বড় (প্রায় 250MB) স্ক্রিপ্টটি চালিত হয় বেশিরভাগ সময় ফাইলটি ডাউনলোড করে হাতে নেওয়া হয়।

আমার সিস্টেমটি ঠিকঠাক কাজ করে, তবে এটি বিরক্তিকর যে এটি এত দীর্ঘ সময় নেয়, কারণ আমি প্রায়শই কেবল এটির জন্য অপেক্ষা করি।

আমি যেমন পরামর্শ খুঁজে পাওয়া যায়নি এই এক , কিন্তু যে মূলত একই কাজ করে আমি এখন কী হিসেবে; পুরো ফাইলটি ডাউনলোড করে এটি লেজ করছে।

কেউ কি এমন কোনও উপায় জানেন যা আমি জনসাধারণের ফাইলটি সম্পূর্ণ ডাউনলোড না করেই টেইল করতে পারি? সমস্ত টিপস স্বাগত!


এই এই প্রশ্নের অনুরূপ stackoverflow.com/questions/1102229/...
gogators

উত্তর:


0

সার্ভার যেখানে ফাইল সঞ্চিত আছে যদি ডাউনলোড চালিয়ে যাওয়া সমর্থন করে তবে আপনি --start-posবিকল্পটি ব্যবহার করে যে কোনও অফসেট থেকে ডাউনলোড শুরু করতে পারেন wget

আপনাকে ফাইলের আকার (এমন কিছু ব্যবহার করে curl -I) পেতে হবে, শেষ 200 লাইনের মোটামুটি অনুমান গণনা করতে হবে এবং প্রারম্ভিক অফসেট হিসাবে পার্থক্যটি ব্যবহার করতে হবে।


0

আপনি যদি -c|--continueবিকল্পটি ব্যবহার করেন wgetতবে কেবল অনুপস্থিত অংশটি ডাউনলোড করবেন এবং এটি আপনার বিদ্যমান অনুলিপিটিতে যুক্ত করবেন:

-c
--continue
    Continue getting a partially-downloaded file. This is useful when you want to finish up 
    a download started by a previous instance of Wget, or by another program. For instance:

    wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z

    If there is a file named ls-lR.Z in the current directory, Wget will assume that it
    is the first portion of the remote file, and will ask the server to continue the 
    retrieval from an offset equal to the length of the local file. 

এটি নয় যে এটির জন্য এইচটিটিপি-র "রেঞ্জ" বিকল্পটি সমর্থন করার জন্য সার্ভারের প্রয়োজন, ঠিক --start-pos@Fotinis উত্তরের বিকল্পটির মতো । এটাকে বলে বাইট-সার্ভিং

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