Ich habe ein PHP-Array verwendet
$lang['module']['1'] = 'Title';
$lang['module']['2'] = 'Title2';
$lang['value'] = 'text123';
wie kann ich im Terminal den Schlüsselwert durch Groß-/Kleinschreibung ersetzen?
$lang['VALUE']
$lang['MODULE']['1']
$lang['MODULE']['2']
usw...
Rekursion
find /var/www/site.net/blog/ -iname '*.php' | xargs grep -E '\$lang\[' -sl
nur $lang[ gefunden ...
Bitte hilf mir.
Antwort1
find /var/www/site.net/blog/ -iname '*.php' -exec grep -l "\$lang\['" {} \; \
-exec sed -i.bak "s/$lang\['\([^']*\)']/$lang['\U\1']/" {} \;
-i
Die Option wird verwendet, .bak
um eine Sicherungsdatei mit .bak
einer Erweiterung zu erstellen, die sich bei jeder Datei sed
ändert. Dies ist nützlich, wenn Sie eingeben sed
und nicht alle Ihre Daten verlieren. Wenn Sie sicher sind, dass alles in Ordnung ist, können Sie einfach verwenden -i
. In diesem Fall wird keine Sicherung erstellt.