我正试图通过wget下载ftp://ftp.flybase.net/releases/current/dmel_r6.21/fasta/dmel-all-translation-r6.21.fasta.gz。
我正在运行以下命令:
wgetftp://ftp.flybase.net/releases/current/dmel_r*/fasta/dmel-all-translation-r*.fasta.gz
我做错什么了?
谢谢
最佳答案
我用下面的shell脚本解决了这个问题
#!/bin/bash
[ -d Test_Wget ] && (echo "directory exists, changing directory for child process") || (mkdir Test_Wget && echo "directory created, changing directory for child process")
cd Test_Wget
if [ ! -f index.html ];
then
wget --no-parent -A 'dmel_r*/fasta/dmel-all-translation-r*.fasta.gz' ftp://ftp.flybase.net/releases/current/
fi
awk '/href.*dmel/' index.html > url_with_crap
grep -o '".*"' url_with_crap > url_with_quotes
part_url=$(sed -e 's/^"//' -e 's/"$//' < url_with_quotes)
url="$part_url/fasta/dmel-all-translation-r*.fasta.gz"
wget $url
gunzip dmel-all-translation-r*.fasta.gz
shopt -s extglob
rm -- !(dmel-all-translation-r*.fasta)
我相信这对这个问题来说是太天真了。
我在等待一个优雅的答复
关于linux - 在目录和文件名中使用正则表达式获取特定文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50472859/