Это в основном попытка обернуть правильный текст вокруг некоторых циклов "печати", которые действуют на расширения glob, как указал Wildcard в комментариях. Единственное отличие (кроме возможной опечатки в одной кавычке в примере вывода Q) заключается в том, что приведенный ниже сценарий будет ставить пробел после последнего элемента в списке. Смотрите пример вывода ниже.
#!/bin/sh
printf "MRS_struct = GannetLoad({";
for f in *_GABA.dat
do
printf "'%s' " "$f"
done
printf "},{"
for f in *_water.dat
do
printf "'%s' " "$f"
done
printf "});\n"
printf "MRS_struct = GannetFit(MRS_struct);\n"
printf "MRS_struct = GannetCoRegister(MRS_struct, {"
for f in *.nii
do
printf "'%s' " "$f"
done
printf "});\n"
printf "MRS_struct = GannetSegment(MRS_struct);\n"
Образец вывода из вопроса:
MRS_struct = GannetLoad({'3001v1_GABA.dat' '3002v1_GABA.dat'},{'3001v1_water.dat' '3002v1_water.dat'});
MRS_struct = GannetFit(MRS_struct);
MRS_struct = GannetCoRegister(MRS_struct, {'3001_v1.nii' '3002_v1.nii});
MRS_struct = GannetSegment(MRS_struct);
Вывод из приведенного выше скрипта:
MRS_struct = GannetLoad({'3001v1_GABA.dat' '3002v1_GABA.dat' },{'3001v1_water.dat' '3002v1_water.dat' });
MRS_struct = GannetFit(MRS_struct);
MRS_struct = GannetCoRegister(MRS_struct, {'3001_v1.nii' '3002_v1.nii' });
MRS_struct = GannetSegment(MRS_struct);