Повторение аргумента командной строки

С помощью zsh вы можете разбить строку (на _ ) на массив:

elements=(${(s:_:)string})

, а затем доступ к каждому / любому элементу через индекс массива:

print -r ${elements[4]}

Имейте в виду, что в zsh (в отличие от ksh / bash ) индексы массива начинаются с 1 .

2
13.04.2017, 15:36
2 ответа

Теоретически это могло бы помочь, но я никогда не пробовал ничего подобного. На вашем месте я бы просто протестировал это с помощью какой-нибудь команды echo , прежде чем запускать программу java .

java -jar GenomeAnalysisTK.jar \
-T GenotypeGVCFs \
-R reference.fasta \
$(for v in *.g.vcf;do echo --variant ${v}" \\";done) -o output.vcf
3
27.01.2020, 21:59

Уловка состоит в том, чтобы получить нужный список и управлять каждым элементом. Попробуйте перейти в каталог с вашими вариантами файлов и что-нибудь вроде

FILES=$(ls | sed 's/^/--variant /')
echo ${FILES}

Затем просто замените $ {FILES} в своей команде.

HTH.

1
27.01.2020, 21:59

Теги

Похожие вопросы