Moin moin,
ich hoffe ich bin hier richtig gelandet, da ich von Shellscripten absolut keine Ahnung habe und mir die folgenden Codeteile im Netz zusammengesucht habe.
Ziel ist es per Shellbefehl rekursiv in allen Dateien per RegEx Daten umzuschreiben. Mit RegEx kenne ich mich eigentlich sehr gut aus und in meinem RegExTester funktioniert das auch alles - nur über das angedachte Shellscript verhält sich der RegEx sehr eigenartig und ich kann mir nicht erklären warum.
das "Shellscript":
Beispieldaten, die modifiziert werden sollen:
Wenn ich das Shellscript ausführe kommt statt dem erwarteten
aber folgendes raus
Ich hoffe, mir kann geholfen werden.
mfg aGeNET
ich hoffe ich bin hier richtig gelandet, da ich von Shellscripten absolut keine Ahnung habe und mir die folgenden Codeteile im Netz zusammengesucht habe.
Ziel ist es per Shellbefehl rekursiv in allen Dateien per RegEx Daten umzuschreiben. Mit RegEx kenne ich mich eigentlich sehr gut aus und in meinem RegExTester funktioniert das auch alles - nur über das angedachte Shellscript verhält sich der RegEx sehr eigenartig und ich kann mir nicht erklären warum.
das "Shellscript":
Code:
#!/bin/bash
find . -type f -iname "*.php" -exec perl -i -pe 's/(?:[^_](strtoupper|substr)\([\$])/mb_\1/g' {} \;
Beispieldaten, die modifiziert werden sollen:
Code:
<?php
$string = 'hahaha';
echo "this is thisthingy ".strtoupper('hahaha')." the shell\n";
echo "this is thisthingy ".strtoupper($string)." the ".mb_strtoupper('hohoho')." shell\n";
?>
<script type="text/javascript">
var test = document.getElementbyId('id').substr(5);
</script>
Wenn ich das Shellscript ausführe kommt statt dem erwarteten
Code:
... thisthingy ".mb_strtoupper($string)." the ...
Code:
... thisthingy "mb_strtoupperstring)." the ...
Ich hoffe, mir kann geholfen werden.
mfg aGeNET