我的文件位于远程位置,名称如下:
ranjans-vra_test1-standalone-6ff194f94-0.vraCafe.0-nimbus-vra-deploy-result.json
唯一字词可以是test1
vraCafe
和nimbus-vra-deploy-result.json
。我正在尝试使用wget
命令下载文件:
wget -r http://URL/ranjans/testbeds/vra/testbeds/.*test1.*vraCafe.*nimbus-vra-deploy-result.json -O /usr/nimbus/testbeds/vra/vra.json
我收到404
错误。我应该在命令中做些什么修改?
答案 0 :(得分:0)
仅使用wget命令无法实现这一目标,因为您无法使用wget *.*
下载整个互联网。
如果您知道文件的名称,可以将它们粘贴到urls.txt
文件中:
http://URL/foo/bar.json
http://URL/foo/baz.json
然后拨打wget -i urls.txt
答案 1 :(得分:0)
以下命令对我有用:
wget -r --no-parent -I /ranjans/testbeds/vra/testbeds -X /ranjans/testbeds/vra/testbeds/nimbusUtilStats -A "*test1*vraCafe.0-nimbus-vra-deploy-result.json" http://URL/ranjans/testbeds/vra/testbeds/ -P ${WORKSPACE}/nimbus
我面临的唯一问题是:它正在下载完整的网址和文件名。需要找到wget
的解决方案,或者可以通过编写一些shell来解决。
答案 2 :(得分:0)
你走了:
使用wGET解决方案:
for i in $(wget -qO- http://URL/ranjans/testbeds/vra/testbeds/ | grep "*test1.*vraCafe.*nimbus-vra-deploy-result.json<" | awk '{split($0,file,"\""); print file[2]}'); do curl -O http://URL/ranjans/testbeds/vra/testbeds/$i; done
cURL解决方案:
for i in $(curl http://URL/ranjans/testbeds/vra/testbeds/ | grep "*test1.*vraCafe.*nimbus-vra-deploy-result.json<" | awk '{split($0,file,"\""); print file[2]}'); do curl -O http://URL/ranjans/testbeds/vra/testbeds/$i; done
因此,将下载满足正则表达式*test1.*vraCafe.*nimbus-vra-deploy-result.json
的所有文件。