سؤال

ولدي ملف كبير مع الكثير من الروابط إلى ملفات من أنواع مختلفة لتحميل. كل سطر واحد حمل أمر مثل:

ومجلد مشترك "URL1 '

ومجلد مشترك "URL2 '

...

وهناك الآلاف من هؤلاء.

للأسف بعض عناوين تبدو قبيحة حقا، منها على سبيل المثال: HTTP: //www.cepa .org.gh / المحفوظات / بحوث العمل ورقات / WTO4٪ 20 (1) -charles.doc أنه يفتح موافق في المتصفح، ولكن يخلط مجلد مشترك.

وأنا الحصول على خطأ:

و./ tasks001.sh: خط 35: خطأ في بناء الجملة بالقرب غير متوقع رمز `1 '

و./ tasks001.sh: خط 35: `مجلد مشترك '<لأ href =" http://www.cepa.org.gh/archives/research-working-papers/WTO4٪20(1)-charles.doc "يختلط =" نوفولو noreferrer "> http://www.cepa.org.gh/archives/research-working-papers/WTO4٪20 (1) -charles.doc ''

ولقد حاولت كل URL وسبل "URL" من تحديد ما لتحميل.

هل هناك طريقة لجعل برنامج نصي مثل أن تشغيل غير المراقب؟ أنا موافق إذا كان سوف مجرد تخطي الملف لا يمكن تحميل.

هل كانت مفيدة؟

المحلول

وأعتقد أنك في حاجة لاستخدامها التنصيص ( ") وليس علامات الاقتباس المفردة ( ') حول URL.

وإذا كان هذا لا يزال لا يعمل، حاول الهروب من الشخصيات ( القوسين و) بخط مائل: \( و\)

وأي قذيفة الذي تستخدمه؟ سحق؟ zsh؟

نصائح أخرى

لا (أ ب) استخدام قذيفة.

حفظ عناوين المواقع الخاصة بك لبعض الملفات (دعنا نقول my_urls.lst) والقيام بها:

wget -i my_urls.lst

وسوف مجلد مشترك معالجة نقلا عن غيرها على نفسه

وهذا لا بالضبط الإجابة على سؤالك ولكن:

وكل من الأوامر التالية مباشرة العمل في قذيفة باش:

wget "http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc"

و

wget 'http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc'

ويمكن أن تحقق لمعرفة ما إذا كان أي من هذه الأعمال بالنسبة لك؟

ما يبدو أنه يحدث هو أن قذيفة الخاص بك تفعل شيئا مع (أحرف. وأود أن محاولة استخدام علامات الاقتباس المزدوجة "بدلا من علامات الاقتباس المفردة" حول URL الخاص بك.

إذا كنت ترغب في قمع أخطاء يمكنك استخدام> / ديف / لاغية تحت يونيكس لإعادة توجيه الإخراج القياسي أو 2> / ديف / فارغة إلى إعادة توجيه الخطأ القياسي. تحت أنظمة التشغيل الأخرى قد يكون شيئا آخر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top