|
From: | Christopher Webster |
Subject: | Re: (somewhat OT:) lilypond calling bash script questions |
Date: | Wed, 09 May 2012 15:39:41 +0200 |
User-agent: | Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 |
A variant of Alex's suggestion (below): find . -type d -name "[0-9]*" -print | while read dir do ( cd $dir; for f in *.ly do lilypond $f done ) done I've typed this directly in my mail client without testing it, so it's to be expected that some details will need correction. Sorry about that. Christopher W.
Urs Liska wrote: > Please excuse if I post a linux question here, but I'd prefer not to > have to find a dedicated forum and subscribe there first ... > > I have a project with more than two dozens of lilypond scores. For > several reasons I have them in individual files which I can't \include > in a master file. > I would like to write a script that allows me to compile all .ly files > in one run. Another shot: if what you need is to compile all *.ly below a folder, this might serve: find . -name '*.ly' | while read i; do lilypond "$i"; done Using read takes care of whitespace. Or, more compact: find . -name '*.ly' -exec lilypond '{}' \; Although this won't work if the file must be inside a folder complying with the number pattern. Alex. > For this I need the following which I didn't find through Google: > How can I sequentially cd to all subdirectories that start with a number? > What I want is to do > > cd 01_01_... > lilypond *.ly > cd .. > cd 01_02_... > .. > > in a form like > > for dir in [get me all directories starting with a number] > do > cd $dir > lilypond *.ly > cd .. > done > > This _has_ to be absolutely simple, but I didn't manage do find out how > so far. > > Many thanks for any assistance. > Urs |
[Prev in Thread] | Current Thread | [Next in Thread] |