我正试图通过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/

10-14 06:11