Ich versuche sed (4.2.2-4 + b1 debian 8 (jessie)) zu verwenden, um Text in mehreren Dateien zu ersetzen.
Um davon auszugehen:
$var1 = array(foo=>"bar",bar=>"foo");
$var2 = array( foo=>"bar", bar=>"foo" );
$var1 = array(
foo=>"bar",
bar=>"foo"
);
Um dies zu bekommen:
$var1 = array( "foo" => "bar","bar" => "foo");
$var2 = array( "foo" => "bar", "bar" => "foo" );
$var1 = array(
"foo" => "bar",
"bar" => "foo"
);
Der normale reguläre Ausdruck wäre:
/(\(|\(\s|,|,\s.+?)([a-z|A-Z].+?)=>/$1"$2" => /g
Sed so zu benutzen scheint aber nicht zu funktionieren
sed -i "s#\((\|(\s\|,\|,\s.+?\)\([a-zA-z].+?\)=>#\1\"\2\" => #g" *.php
Oder:
sed -i "s#\((\|(\s\|,\|,\s.+?\)\([a-z\|A-z].+?\)=>#\1\"\2\" => #g" *.php
Weiß jemand was ich falsch mache?
-r
Option für sed?sed -i.bak -r ....