次の for ループの「A00002 X53307 BB145968 CAA42669 V00181 AH002406 HQ844023」番号を新しい数値リストに置き換えようとしています。しかし、私の新しいリストは何百もの数字を含む.CSVファイルです。私の質問は、.CSVファイルを直接読み込み、forループでリストとして機能させることができますか?
for ACC in A00002 X53307 BB145968 CAA42669 V00181 AH002406 HQ844023
do
echo -n -e "$ACC\t"
curl -s "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=${ACC}&rettype=fasta&retmode=xml" |\
grep TSeq_taxid |\
cut -d '>' -f 2 |\
cut -d '<' -f 1 |\
tr -d "\n"
echo
done
.csv ファイルは次のとおりです。
WP_004064712.1
WP_023555236.1
WP_051593235.1
KAJ52037.1
WP_012103448.1
WP_049740904.1
WP_003346264.1
WP_026134014.1
WP_051870539.1
AKF93952.1
XP_008397367.1
XP_014896959.1
XP_007567109.1
XP_014847432.1
EHG27035.1
EGX75147.1
WP_033630878.1
ベストアンサー1
@MarkがCSVファイルに1行に1つの値を含める必要がある場合は、初期リストをコマンドの置き換えに置き換えることで簡単にこれを行うことができます。
for ACC in `cat csvfile`
do
...
done