我有一个我想与cron一起使用的小脚本。目的:获取带有链接的网页,从链接中提取日期和下载文件。下面的脚本无法正常工作,我看不到问题。
#!/bin/bash
for i in $(curl http://107.155.72.213/anarirecap.php 2>&1 | grep -o -E 'href="([^"#]+)"' | cut -d'"' -f2 | grep '_whole_1_3000.mp4'); do
GAMEDAY=$(echo "$i" | grep -Eo '[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}')
wget "$i" --output-document="$GAMEDAY.mp4"
done
它获取网页" curl http://...etc" - works
$天 - 提取日期 - 工作。
当我添加$ DAY时,wget部分不起作用。我是盲目的...我想念什么。
在此处查看您的输出格式:
wget "$i" -O 2015/05/12.mp4
这是一个名为 2015
的目录,其中一个名为 05
的子目录,其中将文件 12.mp4
放置。这些目录不存在,因此您获得2015/05/12.mp4: No such file or directory
。
如果要用下划线替换/
s:
wget -O "${GAMEDAY////_}" "$i"
另外,如果您不存在目录,请创建这些目录:
mkdir -p -- "(dirname "$GAMEDAY")"
wget -O "$GAMEDAY" "$i"