PHP-файл рекурсивно меняет ключ массива при поиске

PHP-файл рекурсивно меняет ключ массива при поиске

Я использовал массив PHP

$lang['module']['1'] = 'Title';
$lang['module']['2'] = 'Title2';
$lang['value'] = 'text123';

как я могу использовать замену в терминале Key Value на CASE UPPER?

$lang['VALUE']
$lang['MODULE']['1']
$lang['MODULE']['2']
и т.д. ..рекурсия

find /var/www/site.net/blog/ -iname '*.php' | xargs grep -E '\$lang\[' -sl

найдено только $lang[ ...

Пожалуйста, помогите мне.

решение1

find /var/www/site.net/blog/ -iname '*.php' -exec grep -l "\$lang\['" {} \; \
-exec sed -i.bak "s/$lang\['\([^']*\)']/$lang['\U\1']/" {} \;

-iопция используется с .bakдля создания резервной копии файла с .bakрасширением, которое будет меняться для каждого файла sed. Это полезно в случае, если есть тип sedи вы не потеряете все свои данные. Если вы уверены, что все в порядке, вы можете использовать просто -i. В этом случае резервная копия не будет создана.

Связанный контент