С помощью zsh
вы можете разбить строку (на _
) на массив:
elements=(${(s:_:)string})
, а затем доступ к каждому / любому элементу через индекс массива:
print -r ${elements[4]}
Имейте в виду, что в zsh
(в отличие от ksh
/ bash
) индексы массива начинаются с 1 .
Теоретически это могло бы помочь, но я никогда не пробовал ничего подобного. На вашем месте я бы просто протестировал это с помощью какой-нибудь команды echo
, прежде чем запускать программу java
.
java -jar GenomeAnalysisTK.jar \
-T GenotypeGVCFs \
-R reference.fasta \
$(for v in *.g.vcf;do echo --variant ${v}" \\";done) -o output.vcf
Уловка состоит в том, чтобы получить нужный список и управлять каждым элементом. Попробуйте перейти в каталог с вашими вариантами файлов и что-нибудь вроде
FILES=$(ls | sed 's/^/--variant /')
echo ${FILES}
Затем просто замените $ {FILES} в своей команде.
HTH.