shell脚本-仅当文件名在我的列表中时才使用wget下载文件
我将用wget从服务器下载很多文件。但是,仅当文件名位于给定列表中时,才应存储这些文件。否则wget应该停止获取这些文件并开始下一个文件 我尝试了以下方法:shell脚本-仅当文件名在我的列表中时才使用wget下载文件,shell,download,filenames,wget,Shell,Download,Filenames,Wget,我将用wget从服务器下载很多文件。但是,仅当文件名位于给定列表中时,才应存储这些文件。否则wget应该停止获取这些文件并开始下一个文件 我尝试了以下方法: #!/bin/bash etsienURL="http://www.etsi.org/deliver/etsi_en" etsitsURL="http://www.etsi.org/deliver/etsi_ts" listOfStandards=("en_302571" "en_3023630401" "en_3023630501"
#!/bin/bash
etsienURL="http://www.etsi.org/deliver/etsi_en"
etsitsURL="http://www.etsi.org/deliver/etsi_ts"
listOfStandards=("en_302571" "en_3023630401" "en_3023630501" "en_3023630601" "en_30263702" "en_30263703" "en_302663" "en_302931" "ts_10153901" "ts_10153903" "ts_1026360501" "ts_1027331" "ts_10286801" "ts_10287103" "ts_10289401" "ts_10289402" "ts_102940" "ts_102941" "ts_102942" "ts_102943" "ts_103097" "ts_10324601" "ts_10324603")
wget -r -nd -nc -e robots=off -A.pdf $etsienURL
wget -r -nd -nc -e robots=off -A.pdf $etsitsURL
for file in *.pdf
do
relevant=false
for t in "${listOfStandards[@]}"
do
if [[ $(basename "$file" .pdf) == *"$t"* ]]
then
relevant=true
break
fi
done
if [ $relevant == false ]
then
rm "$file"
fi
done
使用此代码将下载所有文件。下载后,脚本将检查文件名或其中的一部分是否在列表中。否则,脚本将删除该文件。但是这需要花费大量的磁盘空间。我将只下载一个文件,如果文件名包含一个列表项
也许有人能帮你找到解决办法 找到了解决办法。我忘记了wget的--no parent标记