2015-09-26 37 views
1

我在遠程位置有文件,名字看起來像:下載文件使用正則表達式中的wget

ranjans-vra_test1-standalone-6ff194f94-0.vraCafe.0-nimbus-vra-deploy-result.json 

獨特的話可以test1vraCafenimbus-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

curl也適用於我!任何想法呢? –

回答

0

由於您無法使用wget *.*下載整個互聯網,因此僅使用wget命令無法實現此目的。

如果您知道文件的名稱,你可以將它們粘貼到urls.txt文件:

http://URL/foo/bar.json 
http://URL/foo/baz.json 

然後調用wget -i urls.txt

+0

我的問題我沒有確切的文件名。我只有模式。任何其他腳本像捲曲對我來說也很好。 –

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來解決。

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 

解決方案與捲曲:

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所有文件將被下載。

相關問題