Скобки обрабатываются как часть синтаксиса регулярного выражения (они указывают, что их содержимое должно рассматриваться как группа), а не как литеральные символы для сопоставления. Чтобы синтаксический анализатор регулярных выражений рассматривал их как буквенные символы, вы можете экранировать их с помощью обратной косой черты:
find /Users/Ad//Desktop/Project/src/ -type f -name '*.java' -exec perl -pi -w -e 's/getGreenObject\(\)/newObject("green")/g;' {} \;
Теперь: у вас есть резервная копия до того, как это произошло, чтобы вы могли вернуться и попробовать снова? При выполнении любого массового изменения, подобного этому, вы всегда должны убедиться, что ваша резервная копия обновлена (у вас есть резервная копия, верно?), А также выполнить небольшой тест, прежде чем отключать его на базе основного кода.
Если у вас нет резервной копии, к которой можно вернуться, вы можете исправить это следующим образом:
find /Users/Ad//Desktop/Project/src/ -type f -name '*.java' -exec perl -pi -w -e 's/newObject\("green"\)\(\)/newObject("green")/g;' {} \;
Обратите внимание, что я сказал, вероятно. Здесь применимы те же рекомендации: сначала убедитесь, что у вас есть актуальная резервная копия, и сначала протестируйте ее на нескольких файлах. Я не несу ответственности, если это необратимо уничтожит вашу кодовую базу.