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