我使用 PHP 数组
$lang['module']['1'] = 'Title';
$lang['module']['2'] = 'Title2';
$lang['value'] = 'text123';
我如何在终端键值中使用替换为 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
.在这种情况下,它不会进行备份。