#!/bin/bash set -e cd "$(dirname "$0")" teile=( Nun_komm_der_Heiden_Heiland_/parts/I.ly Nun_komm_der_Heiden_Heiland_/parts/V.ly Vom_Himmel_kam_der_Engel_Schar/parts/I.ly Vom_Himmel_kam_der_Engel_Schar/parts/VI.ly Vom_Himmel_hoch_da_komm_ich_her.pre Messias/parts/III.ly Messias/parts/XII.ly Messias/parts/XV.ly Messias/parts/XLII.ly ) rm -f *.pre for teil in "${teile[@]}"; do if [ "${teil%.pre}.pre" = "${teil}" ]; then ( cd "../../${teil%.pre}" make "$@" "${teil}" ) fi done while read -r line do if [ "%LOOP%${line#%LOOP%}" = "${line}" ]; then loopLines="${loopLines} ${line#%LOOP%}" else if [ -n "${loopLines}" ]; then for teil in "${teile[@]}"; do if echo "${teil}" | grep -qF '/'; then datei="${teil}" else datei="${teil%.*}/${teil}" fi echo "${loopLines}" | \ sed " s|%TEIL%|${datei}|g " done unset loopLines fi echo "${line}" fi done < alles.ly > alles.pre lilypond alles.pre