9th October 2008 - 2 minutes read time
The following shell command uses the find function to find all files in or below the current directory that have the extension php. It then passes each file found onto a sed command which then replaces all <? with the longer <?php version.
find . -name '*.php' -exec sed -ie 's#<?#<?php#' {} \;
The -name argument in find will look at the base of the file name, that is, the file without any directory path. The -exec command is used to pass each file found onto another command, in this case sed is used.