我使用curl并将输出放入文件中。以下脚本将字符串mystring
添加到输出:
#!/bin/bash
file=$1
ids=$(head ${file} | awk '{print $1}')
for i in ${ids}
do
curl -sS http://www.uniprot.org/uniprot/$i.fasta -w "mystring" >> test1.txt
done
这很好,我明白了:
$ ./myscript.sh
mystring>Q12345
mystring>P79403
mystring>Q27595
但是,当尝试通过执行以下操作来添加变量时:
#!/bin/bash
file=$1
ids=$(head ${file} | awk '{print $1}')
for i in ${ids}
do
curl -sS http://www.uniprot.org/uniprot/$i.fasta -w "$ids" >> test1.txt
done
我明白了:
$ ./myscript.sh
myvar1>Q12345
myvar1
myvar1
myvar1
myvar2>P79403
myvar2
myvar2
myvar2
myvar3>Q27595
myvar3
myvar3
myvar3
所以有点有效 - 但它增加了额外的行。我该如何编辑我的脚本?
答案 0 :(得分:1)
curl -sS http://www.uniprot.org/uniprot/$i.fasta -w "$ids" >> test1.txt
应该是
curl -sS "http://www.uniprot.org/uniprot/$i.fasta" -w "$i" >> test1.txt