답변1
Fish는 bash와 호환되지 않지만 자체 스크립팅 언어를 사용합니다.
이 경우 유일한 차이점은
- 역따옴표(```)를 지원하지 않으며 대신 괄호를 사용하십시오.
- for 루프는 do/done을 사용하지 않지만 "end"로 끝납니다.
for acc in (cat uniprot_ids.txt); curl -s "https://www.uniprot.org/uniprot/$acc.fasta" ; end > uniprot_seqs.fasta
또한 명령 대체는 줄 바꿈/공백/탭이 아닌 줄 바꿈에서만 분할되지만 어쨌든 줄 항목이 있을 것입니다. 그렇지 않은 경우 를 사용해야 합니다 string split
.
답변2
제가 정말로 하고 싶은 일 앞에 bash 명령을 사용하면 이것이 가능해집니다.
bash -c 'for acc in `cat meltome_protein_ids.txt` ; do curl -s "https://www.uniprot.org/uniprot/$acc.fasta"; done > uniprot_seqs.fasta'