У меня есть текстовый файл, содержащий переменные, как это:Читать переменные из файла и перебрать их в Баш
lane1_pair1="file1"
lane1_pair2="file2"
lane2_pair1="file3"
lane2_pair2="file4"
...
я хотел бы цикл через переменные и конкатенировать их все в одном файле. Я подаю петлю как:
. variables
for ((n=1; n<=no_lanes; n++)) {
cat $"lane"${n}_pair1 >> "$sampleID"_cat1.fq
cat $"lane"${n}_pair2 >> "$sampleID"_cat2.fq
}
"$sampleID"_cat1.fq > fq_align_1
"$sampleID"_cat2.fq > fq_align_2
Проблема здесь в том, что, команда кот не работает, потому что вместо того, чтобы заменить "laneX_pairY"
с его значением, рассматривать его как строку. Мне было интересно, есть ли здесь кто-нибудь здесь.
Я не уверен в нескольких элементах этого: где определены переменные 'no_lanes',' lane' и 'sampleID'? Каковы две нижние линии, которые нужно выполнить? Что вы хотите, чтобы окончательный вывод файла выглядел? – spinup
Последние две строки в основном помещают конкатенированное содержимое в fq_align, которое будет передано следующему аргументу. –
Итак, в этих строках вы пытаетесь прочитать из файла и поместить результат в переменную, верно? – spinup