Regex mit egrep
-
Hi,
echo "788h\\blub\bla\foo\04-lala\hihi\hoho(())))=)=" | egrep -o '\\\\.+\[\w-]*'Sollte eigentlich folgendes ausgeben:
\\blub\bla\foo\04-lala\hihi\hohohttp://regex101.com/ erkennt das Muster.
Was mache ich bei egrep falsch?Danke, im Voraus!
L. G.,
IBV
-
Hi,
dein Fehler hat nicht mit egrep zu tun, sondern mit der Konsole(bash nehme ich an).
Wenn du links single quotes nimmst kommt fast das erwartete Ergebnis raus, nur das hoho fehlt am Ende.
Woran das liegt, kann ich dir jetzt aber auch nicht sagen.
-
Ah, verstehe. Double Quotes evaluiert Ausdrücke. D. h. aus "\\" wird '\'.
\w versteht der irgendwie nicht, aber [a-zA-Z0-9\-] schon.
Damit geht es nun:echo '788h\\blub\bla\foo\04-lala\hihi\ho-9hO(())))=)=' | egrep -o '\\\\.+\[a-zA-Z0-9\-]*'Thx!
L. G.,
IBV
-
Hi,
ich würde gerne, dass bei diesem Text
788h\\blub\bla.foo\foo\04-lala\hihi\ho-9hO\\dassdf\sdfsd(())))=)=folgendes ausgegeben wird:
\\blub\bla.foo\foo\04-lala\hihi\ho-9hOLeider wird folgendes ausgegeben:
\\blub\bla.foo\foo\04-lala\hihi\ho-9hO\\dassdf\sdfsdMein regex:
\\\[a-zA-Z0-9\-\.\]*\[a-zA-Z0-9\-]*\\\ darf nur am Anfang vorkommen.
Jemand eine Idee?Danke, im Voraus!
L. G.,
IBV
-
Mit
\\(\[^\\\'\"\?]+)*geht es nun, aber egrep macht nun wieder Probleme:
compname@user:~/Dokumente$ egrep --binary-files=text -o '\\(\[^\\\'\"\?]+)*' < blub.lnk bash: Syntaxfehler beim unerwarteten Wort »)«