2013-01-23 38 views
5

Vì vậy, tôi đang cố gắng tạo bí danh/tập lệnh để tải xuống tất cả tiện ích mở rộng cụ thể từ một trang web/thư mục sử dụng wget nhưng tôi cảm thấy phải có cách dễ dàng hơn những gì tôi đã đưa ra.Tải xuống tất cả các tệp .tar.gz từ trang web/thư mục sử dụng WGET

Ngay bây giờ mã tôi đã đi lên với từ tìm kiếm của Google và các trang con người là:

wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories http://download.openvz.org/template/precreated/ 

Vì vậy, trong ví dụ trên tôi đang cố gắng để tải về tất cả các file .tar.gz từ OpenVZ thư mục mẫu được xử lý trước.

Mã trên hoạt động chính xác nhưng tôi phải chỉ định thủ công --cut-dirs = 2 sẽ cắt cấu trúc/mẫu/tiền tố/thư mục thường được tạo và nó cũng tải xuống tệp robots.txt.

Giờ đây không nhất thiết phải là vấn đề và thật dễ dàng để xóa tệp robots.txt nhưng tôi đã hy vọng tôi chỉ bỏ sót một số thứ trong trang người đàn ông cho phép tôi thực hiện những việc tương tự mà không chỉ định cấu trúc thư mục cắt ra ...

Cảm ơn bạn đã giúp đỡ trước thời hạn, nó được đánh giá cao!

Trả lời

6

Sử dụng -R tùy chọn

-R robots.txt,unwanted-file.txt 

làm danh sách từ chối các tệp bạn không muốn (phân cách bằng dấu phẩy).

Đối với kịch bản này:

URL=http://download.openvz.org/template/precreated/ 
CUTS=`echo ${URL#http://} | awk -F '/' '{print NF -2}'` 
wget -r -l1 -nH --cut-dirs=${CUTS} --no-parent -A.tar.gz --no-directories -R robots.txt ${URL} 

Điều đó sẽ làm việc dựa trên các thư mục con trong URL của bạn.

2

tôi sẽ đề nghị, nếu điều này thực sự gây phiền nhiễu và bạn cần phải làm điều đó rất nhiều, chỉ cần viết một kịch bản hai dòng thực sự ngắn để xóa nó cho bạn:

wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories http://download.openvz.org/template/precreated/ 
rm robots.txt 
+0

Vâng, nhưng tôi đang cố gắng tạo một tập lệnh bash mà tôi chỉ có thể nạp URL trang web và làm phần còn lại ... về bản chất, sh dl.sh tar.gz, và nó sẽ tải xuống tất cả .tar .gz – sMyles

Các vấn đề liên quan