Päädyin nyt sitten kumminkin tällaiseen pytoniaaniseen ratkaisuun:
#!/usr/bin/env python
# example:
# ~/makehuman$ python kokoa.py ".*cpp" >kokoelma.cpp
import os, sys
import re
if len(sys.argv) < 2:
  rexp = ".*"
else:
  rexp = sys.argv[1]
p = re.compile(rexp)
t = []
for root, dirs, files in os.walk('.'):
  for f in files:
    filename = "%s%s%s" % (root, os.sep, f)
    if p.match(filename) and os.stat(filename)[6] > 0:
      t.append(filename)
for f in t:
  print
  print 60*"#"
  print "# %s" % f
  print 60*"#"
  print
  h=open(f)
  print h.read()
  h.close()