फ़ाइलें डाउनलोड करें और स्रोत के समान फ़ाइल संरचना बनाएं


21

मेरे पास एक config फाइल है जिसमें URI की सूची है जो मैं डाउनलोड करना चाहता हूं। उदाहरण के लिए,

  http://xyz.abc.com/Dir1/Dir3/sds.exe
  http://xyz.abc.com/Dir2/Dir4/jhjs.exe
  http://xyz.abc.com/Dir1/itr.exe

मैं कॉन्फिग फ़ाइल पढ़ना चाहता हूं और प्रत्येक URL को कॉपी करना चाहता हूं, लेकिन साथ ही होस्ट पर समान निर्देशिका संरचना भी बना सकता हूं। उदाहरण के लिए, कॉन्फ़िगर फ़ाइल में पहली पंक्ति के लिए, मैं अपने स्थानीय मशीन पर निर्देशिका संरचना Dir1 / Dir3 बनाना चाहता हूं (यदि यह मौजूद नहीं है) और फिर sds.exe को कॉपी करें ... / Dir1 / Dir3 /

मैंने पाया कि मैं 'wget -i' का उपयोग करके एक फाइल में सभी URL डाउनलोड कर सकता हूं, लेकिन मैं इसके साथ संबंधित निर्देशिका संरचना कैसे बना सकता हूं

जवाबों:


27

से man wget:

-x, - प्रवर्तन-निर्देशिका:

[...]

निर्देशिकाओं का एक पदानुक्रम बनाएं, भले ही कोई अन्यथा निर्मित न हो। जैसे wget -x http://fly.srk.fer.hr/robots.txt डाउनलोड की गई फ़ाइल को fly.srk.fer.hr/robots.txt पर सहेजेगा।


आदमी की सिफारिश के लिए धन्यवाद। मुझे अपनी मदद करने की आदत डाल लेनी चाहिए।
NGambit

क्रिस: लेकिन ऐसा लगता है जैसे अगर मेरे पास fly.srk.fer.hr/dir1/robots.txt है, तो wget -x fly.srk.fer.hr निर्देशिका बनाता है और इसमें dir1 / robots.txt नाम की फ़ाइल डालता है। मुझे इसकी क्या आवश्यकता है कि यह उपनिर्देशिका भी बनाए। यानी रोबॉट्स को बचाएं। to fly.srk.fer.hr/dir1/
NGambit

@Nambambit dir1/robots.txtयूनिक्स पर एक एकल फ़ाइल बनाना असंभव है ।
क्रिस डाउन

तुम सही हो। जो विन्यास फाइल मैं उपयोग कर रहा था, उसमें निर्देशिका के पथों में '/' के बजाय '\' था (क्योंकि इसे अन्य विंडो आधारित फ़ाइल से पार्स किया गया था) जो चीजों को गड़बड़ कर रहा था। बस '\' को '/' और "wget ​​-x -i फ़ाइल नाम" के साथ एक आकर्षण की तरह काम करता है
NGambit

2
एक साइड नोट: कभी-कभी आप URL में पहले N फ़ोल्डरों को छोड़ना चाहते हैं, फिर आप जोड़ते हैं:--cut-dirs=N
tokland

16

जिस संरचना के लिए आप पूछ रहे हैं उसे प्राप्त करने के लिए, मैं -nH के साथ-साथ -x का उपयोग करने का सुझाव दूंगा।

यह होस्टनाम को हटा देगा और साथ ही अपेक्षित निर्देशिका संरचना तैयार करेगा।

जैसे

wget -x -nH http://xyz.abc.com/Dir1/Dir3/sds.exe

- 'Dir1/Dir3/sds.exe' saved [1234]

आदमी पृष्ठ से:

-nH
--no-host-directories
   Disable generation of host-prefixed directories.  By default, invoking Wget with -r http://fly.srk.fer.hr/ will create a structure of directories beginning with fly.srk.fer.hr/.  This option disables such behavior.

-x
--force-directories
   ...create a hierarchy of directories, even if one would not have been created otherwise...
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.