我有一个由如下行组成的文件:
URL=http://someURL]somefilename
如果某些文件名不存在,我需要下载 URL 链接。我想使用 shell 命令,例如:
for i in $(cat FILE); do if [ ! -f somefilename] somecode; done
但我不知道要使用什么代码。有任何想法吗?
编辑:要解决 terdon 问题:是的,每行只有一个 ] ,即 someURL 之后的一个,是的,文件名是 ] 之后到行尾的整个字符串。
答案1
这是一个纯 shell 方法:
while IFS='=]' read a url file; do
[ -f "$file" ] || echo "wget $url]$file"
done < file
这将迭代文件,在 或 上分割每一行,=
并将]
每个结果字段读取到变量 a (字符串URL
)、$url
(url 直到文件名)和$file
(文件名)中。然后,如果$file
当前目录中不存在(因此[ -f "$file" ]
返回 false),它将下载它。