У меня есть большая коллекция php файлов, написанных на протяжении многих лет, и мне нужно правильно заменить все короткие открытые теги на правильные явные открытые теги.
change "<?" into "<?php"
Я думаю, что это регулярное выражение будет правильно выбирать их:
<\?(\s|\n|\t|[^a-zA-Z])
который заботится о таких случаях, как
<?//
<?/*
но я не уверен, как обрабатывать дерево всей папки и обнаруживать расширение .php файла и применять регулярное выражение и сохранять файл после его изменения.
У меня такое чувство, что это может быть довольно просто, если вы освоите правильные инструменты. (В руководстве sed есть интересный взлом: 4.3 Пример/Переименовать файлы в нижний регистр).
Возможно, я ошибаюсь.
Или, может быть, это может быть oneliner?