Không rõ chính xác những gì bạn đang tìm kiếm, nhưng tôi đã chụp một hy vọng rằng điều này sẽ giúp bạn.
Chương trình sau đây cần được đặt trong một tệp văn bản. Hãy nói rằng bạn đặt tên cho nó dl
. Bạn cần thay đổi quyền của nó với
chmod u+x dl
Bạn chạy nó bằng cách chuyển vào tên tệp đầu ra mà bạn đang tìm kiếm.
./dl output
Nó tải xuống tệp hình ảnh, tại url tôi đã mã hóa cứng, lặp đi lặp lại việc nối thêm đầu ra vào tệp đầu ra cho đến khi kích thước của tệp đầu ra bằng hoặc lớn hơn kích thước mà bạn chỉ định trong temp_size
biến.
#!/usr/bin/env bash
STAT="stat -c%s"
if [ $(uname) == "Darwin" ]; then
STAT="stat -f%z"
fi
if [[ $# -ne 1 ]]; then
echo "Usage: $0 output_filename"
exit 1
fi
output_file="$1"
file_size=$($STAT "$output_file")
temp_size=1000000
download_file="http://www.google.com/logos/doodles/2013/franz_kafkas_130th_birthday-1976005-hp.png"
while [[ $file_size -le $temp_size ]]; do
wget -O - $download_file >> "$output_file"
file_size=$($STAT "$output_file")
done
echo $output_file is now $file_size bytes.
Nếu bạn chạy lại nó với cùng một tham số, nó sẽ không làm gì cả vì tệp đầu ra đã lớn hơn temp_size. Bạn có thể đặt lại bằng cách đặt tên tệp khác hoặc xóa tệp đầu ra.
rm output