Заменить разделение на разнесение во всех файлах PHP

Я опубликую это как ответ, так как это то, что я сделал, и я обнаружил, что это намного проще, чем пытаться засунуть каждый процесс systemd, который я мог найти.

Я создал специальный сценарий выключения для выполнения действий перед выполнением перезагрузки или выключения. Я присвоил выключению псевдоним sudo /my/special/script.shи использовал аналогичный шаблон для перезагрузки, а также псевдоним alias sudo = 'sudo '. Мне также пришлось добавить этот скрипт в файлы sudoers для соответствующих пользователей.

0
27.12.2019, 20:09
1 ответ

А пока я разобрался сам.

find. -iname '*.php' -type f -exec grep -l -m 1 -P '[<][?]' {} \; | xargs -r grep -l -m 1 --null -P '[^_.]split[\s]*[(]' | sudo xargs -0 -r perl -pi -e 's/([^_.])split([\s]*[(])/$1explode$2/g'
  1. Получить файлы PHP (регистр -нечувствительный ).
  2. Проверьте, находится ли <?внутри.
  3. Проверьте, находится ли split(внутри.
  4. Замените split(на explode(.

Для 3 и 4:_split((preg_split.split((Javascript в моем случае )не заменится.

Протестировано на Ubuntu 18.04.

1
28.01.2020, 02:38

Теги

Похожие вопросы