Столкнулся ровно с той же проблемой:
удаление нужной строки: find . -name '*.php' -exec sed -i -e '/require/d' {} \;
После этой команды во всех файлах с расширением php были удалены строки require (и require_once тоже). Но данная команда принесла ещё один неприятный побочный эффект. Появились файлы-дублёры у тех файлов, в которых произвелось удаление. Т.е. появилось множество файлов с расширением php-e Их пришлось удалить второй командой: find . -name '*.php-e' -exec rm -Rf {} \;
Уверен, что замену строки в множестве файлов можно сделать одной командой и моя ошибка где-то в области sed'а, но найти её я так и не смог.
http://pravdinskiy.ru/node/630
У меня также после подобной команды создались дублеры с -e на конце. Где ошибка? Что-то надо заэкранить или в кавычки запихнуть?