【发布时间】:2017-07-04 11:47:35
【问题描述】:
我经常需要通过curl 遍历一些图像下载,并希望丢弃那些低于特定文件大小的下载,因为它们显然不存在,即。 e.返回的“图像”是一个 404 页面。 curl 有一个 --max-filesize 选项,但没有一个用于最小文件大小的选项。
我正在考虑将URL图像位置和最小文件大小传递给脚本curlmin,例如
curlmin url 最小文件大小
我相信,由于我使用 [ ] 的字母数字系列序列来迭代数天,因此我需要能够“即时”删除低于特定文件大小的那些文件。我在下面的尝试还没有完成,因为我被困在如何在“if”语句中引用“当前”文件以及如何实际删除文件上。但也可能是我的一个班轮也无法正常工作。
#!/bin/bash
curl -O $1 | if [ $(wc -c <"$1") -le $2 ]; then delete_file_here; fi
^^ ^^^^^^^^^^^^^^^^
有什么想法吗?谢谢。
【问题讨论】:
-
curl是您唯一的选择吗?为什么不wget? -
我只安装了 curl。
wget更适合这些东西吗?我的印象是curl是一种“更现代”的方法(没有真正定义“现代”......),这些天更新得更好,使用更广泛。 -
wget更适合您的用例download the files that do exist。 -
哦,好吧,我想我应该看看安装
wget然后... -
我没有真正注意到你试图避免在远程文件不存在时创建文件。只需将
-f用于您的curl命令即可。