#!/bin/sh rmkdir() { DIRNAME=`dirname $1`; [ "$DIRNAME" != "." ] && { [ -d "$DIRNAME" ] || rmkdir "$DIRNAME"; } [ -d "$1" ] || mkdir "$1"; } OUT_DIR=$1 IN_A_DIR=$2 IN_B_DIR=$3 pushd $IN_A_DIR for filename in `find .` ; do { rmkdir $OUT_DIR/`dirname $filename` [ -d $filename ] || if [ -x $filename ] ; then { lipo -create $filename $IN_B_DIR/$filename -output $OUT_DIR/$filename || cp $filename $OUT_DIR/$filename } ; else { cp $filename $OUT_DIR/$filename } ; fi } ; done popd