md tmp cd tmp md old md old1 md old2 md old3 md new echo >old/f1 echo >old1/f1 echo >old2/f1 echo >old3/f1 echo >new/f1 echo >>new/f1 diff -ruN old new >temp.patch patch -p0 -dold1 < temp.patch patch -p1 -dold1 < temp.patch cd old2 patch < ../temp.patch cd ../old3 patch -p0 < ../temp.patch patch -p1 < ../temp.patch cd .. cat old/f1 cat old1/f1 cat old2/f1 cat old3/f1 cat new/f1 cat temp.patch