উইজেটের মাধ্যমে প্রকৃত নাম সহ ফাইলটি ডাউনলোড করুন


9

আমি ওয়েব সাইট থেকে HTTP- র মাধ্যমে একটি ফাইল ডাউনলোড করার চেষ্টা করছি wget

যখন আমি ব্যবহার করি:

wget http://abc/geo/download/?acc=GSE48191&format=file

আমি কেবল একটি ফাইল পেয়েছি index.html?acc=GSE48191

যখন আমি ব্যবহার করি:

wget http://abc/geo/download/?acc=GSE48191&format=file -o asd.rpm

আমি পেয়েছি asd.rpm, তবে আমি প্রকৃত নাম দিয়ে ডাউনলোড করতে চাই এবং নিজে ডাউনলোড করা ফাইলটির নাম পরিবর্তন করতে চাই না।


আপনি পরের বার বায়োইনফরম্যাটিকসে এই ধরণের প্রশ্ন জিজ্ঞাসা করতে চাইতে পারেন । এটি এখানেও বিষয়টিতে রয়েছে এবং থাকার জন্য আপনাকে স্বাগত জানায় তবে আপনি যারা ক্ষেত্রের মধ্যে কাজ করেন তাদের কাছ থেকে আরও সহায়তা পেতে পারেন।
টেরডন

3
@terdon কেমন বিষয়ে wget হয় এবং * স্নো শেল আচরণ সম্পর্কে জিজ্ঞাসা করা হয় বায়োইনফরমেটিক্স ?
সিভিএন

1
@ মাইকেলKjörling এনসিবিআই থেকে তথ্য আহরণ করা হবে, এজন্যই আমি এটি প্রস্তাব করেছি। ওপরে শেল সলিউশন না দিয়ে অনুসন্ধান করা তথ্যটি পাওয়ার জন্য সেখানে একটি উত্তর সম্ভবত আরও সহজ এবং আরও সরাসরি পদ্ধতির সাথে জড়িত। উদাহরণস্বরূপ "আপনি আরও সহজেই এই তথ্যটি পেতে পারেন" এর মতো কিছু।
টেরডন

--trust-server-namesযুক্তিটি দেখুন wget-
ivanivan

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

উত্তর:


30
wget --content-disposition 'https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'

আপনি যে ফাইলটি ডাউনলোড করছেন সেটি হ'ল একটি tarসংরক্ষণাগার (একটি বাইনারি ফাইল), যা কোনও ওয়েব সার্ভার থেকে ডায়নামিক লিঙ্ক সরবরাহ করে। wgetআপনি যে ইউআরএল ব্যবহার করছেন সেটির কিছু অংশ ব্যবহার করে ফাইলটি সাধারণত সংরক্ষণ করতে পারে তবে এই ক্ষেত্রে এটি কেবলমাত্র একটি REST এপিআই শেষ পয়েন্ট (বা অনুরূপ কিছু) যাতে নামটি কাজ করা বন্ধুত্বপূর্ণ হবে (এটি এখনও একটি বৈধ নাম এবং ফাইলের বিষয়বস্তু একই হবে)।

যাইহোক, এই ক্ষেত্রে সার্ভারটি "কনটেন্ট ডিসপজিশন" শীর্ষক আসল ফাইলের নাম সহ সরবরাহ করে, যা wgetআপনি যদি --content-dispositionবিকল্পটি ব্যবহার করেন তবে ব্যবহার করতে সক্ষম । এই বিকল্পটির জন্য আমার ম্যানুয়ালটিতে "পরীক্ষামূলক" হিসাবে চিহ্নিত করা হয়েছে wget

এছাড়াও আপনি যাতে শেল ব্যাখ্যা নেই URL টি উদ্ধৃত করা প্রয়োজন &এবং ?এটা অক্ষর।


সমতুল্য জিনিসটি ব্যবহার করে curl:

curl -J -O 'https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'

বা, সমতুল্য দীর্ঘ বিকল্পগুলি ব্যবহার করে:

 curl --remote-header-name --remote-name 'https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'

আপনি একবার ফাইলটি ডাউনলোড করার পরে আপনার এটি আনপ্যাক করা দরকার:

tar -xvf GSE48191_RAW.tar

এই নির্দিষ্ট সংরক্ষণাগারটি যেভাবে তৈরি হয়েছিল তার কারণে এটি সংরক্ষণাগারটির ফাইলগুলি বর্তমান ডিরেক্টরিতে আনপ্যাক করবে (সুতরাং একটি নতুন ডিরেক্টরি তৈরি করা হচ্ছে, সংরক্ষণাগারটি সেখানে স্থানান্তরিত করা হবে এবং এটি আনপ্যাক করা ভাল ধারণা থাকতে পারে)। এই সংরক্ষণাগারটির ফাইলগুলি gzipহ'ল সংকুচিত CELফাইল।


8

শেলটি অক্ষরগুলির স্বাভাবিক ব্যাখ্যা করে, বিশেষত ?ওয়াইল্ডকার্ড (যা এখানে কিছু আসে না) এবং &"পটভূমিতে রাখা" হিসাবে does আপনার পরবর্তীটি লক্ষ্য করা উচিত ছিল, কারণ শেলের প্রতিক্রিয়া প্রত্যক্ষ কমান্ড থেকে পৃথক।

সুতরাং আপনার উদ্ধৃতি দিতে হবে:

wget 'http://abc/geo/download/?acc=GSE48191&format=file'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.