BASH Shell Script: Variable zerlegen
Hallo NG!
Ich versuche gerade mir ein Script zu schreiben, dass vom User die
Eingabe einer eMail-Adresse verlangt (z.B. test@domain.com) und in einer
Variable speichert. Intern soll diese Variable dann zerlegt werden, so
dass ich eine neue Variable mit Username (test) und eine mit der Domain
(domain.com) erhalte.
Mein Problem ist nun, dass ich nicht genau weiß, ob dies ohne Weiteres
in der BASH möglich ist. Mit PHP als Script-Sprache könnte ich einfach
explode() benutzen, doch möchte ich versuchen, das ganze mit
BASH-Mitteln zu realisieren.
Ich dachte dabei an grep bzw egrep.
Ich habe mir nun einen Regulären Ausdruck geschrieben, der (meiner
Meinung nach :-)) eine eMail-Adresse erkennt und dann auf den Domainteil
matcht:
(?<=((\w)+\.)+@)([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9]{2,4}
Teste ich das ganze mit solchen RegEx-Tools, klappt das auch soweit,
jedoch scheinee ich das ganze nicht in ein Shellscript umbiegen zu können.
Hab mir eine Datei erstellt, in der nur eine eMail Adresse steht und
dazu folgendes Script:
#!/bin/bash
VAR=`cat testfile | egrep
'(?<=((\w)+\.)+@)([a-zA-Z0-9_-]+\.)+[a-zA-Z0-9]{2,4}'`
echo $VAR
Leider funktioniert das nicht so, wie geplant -> die Variable scheint
leer zu sein. Stimmt mein egrep Aufruf nicht (auch schon mit " an Stelle
der ' probiert) oder liegt das Problem woanders? In der man page von
grep finde ich nichts passendes.
Freue mich über nützliche und hilfreiche Tipps! :-)
Danke und Gruß,
Markus Wetzel
PS.: Das Ganze soll später wenn es geht ohne temporäre Datei
funktionieren...
Reply to: