FTP에서 일부 파일을 다운로드 할 수있는 스크립트를 작성하는 데 많은 시간이 걸렸으며 select 문을 사용하여 ftp 하위 디렉토리에 디렉토리를 지정해야합니다. 또한 옵션을 제공하기 위해서는 모든 것을 @ bottom에서 @ $ DNAtype을 실행해야합니다. 누군가 아이디어 있어요?추가 옵션이있는 Linux select 문
내 코드는 다음과 같습니다 (네덜란드의 의견 죄송합니다)
#!/bin/bash/
#16-03-2012
#Sander van der Zeeuw s1040176
#Variabele om de ftp aan te kunnen roepen
var='ftp://ftp.ensembl.org/pub/release-66/fasta/'
#Hier word de lijst met beschikbare organisme binnengehaald via de functie curl.
# curl is te installeren via de terminal met het command sudo apt-get install curl
lijst=`curl $var | awk '{print $NF}'`
echo "de keuze 0 selecteert alles"
#hier wordt een directory aangemaakt om de files in weg te schrijven
mkdir -p dnaenpep
cd dnaenpep
#Hier wordt een keuze menu gecreeerd om het juiste organisme te kiezen.
select specie in $lijst
do
break
done
echo "Uw keuze is:" $specie
#Hier wordt de keuze "0" ingebouwd. Zodat alle genomen gedownload worden.
if [ "$specie" == "" ]
then
for i in $lijst
do
namen=$(curl $var$i/dna/ | awk '{print($NF)}')
for files in $namen; do curl $var$i/dna/$files -o $files
curl $var$i/pep/$files -o $files
done
done
fi
echo "de keuze 0 selecteert alles"
#Wanneer de loop niet uitgevoerd wordt, zal via nog een select statement de gekozen worden #welk DNA je van de ftp wil downloaden.
lijst2=`curl $var$specie/ | awk '{print $9}'`
echo $lijst2
select dnatype in $lijst2
do
break
done
echo "uw keuze is:" $dnatype
if [$dnatype == ""]
then
for i in $dnatype
do
wget -O DNAtype "$var$specie/dna/"
wget -O DNAtype "$var$specie/pep/"
done
fi
#Hier worden de files die in $dnatype gemaakt worden gedownload.
wget -O DNAtype "$var$specie/$dnatype/"
cat DNAtype | egrep "=" | tr '"' '\n' | sort | grep ^"ftp" |grep gz > Downlist.txt
wget -c -i Downlist.txt
exit
이 스크립트에는 문제가 너무 많습니다. 가장 즉각적인'선택 '문제는'$ lijst'에 대한 반복을위한 단어 분리이지만, 다른 많은 [인용] (http://mywiki.wooledge.org/Quotes)과 구문 문제로 인해이 문제가 발생할 수 있습니다 실패. – ormaaj