Read file content with while and awk combined

Hi all,
I have a text file with the following content

Baluta, Mircea (M.C.) mbaluta@yahoo.com; Ica, Victor Stefanita (V.I.) vica@yahoo.com; Badea
, Alexandra Nicoleta (A.B.) abadea6@yahoo.com>; Paun, Wily Robert (W.C.) WPAUN1@yahoo.com; S
toica, Bogdan (B.S.) BSTOICA1@yahoo.com; Mitroi, Ilie (I.M.) imitroi@yahoo.com; Pirvu, Ion-Cri
stian (C.P.) cpirvu@yahoo.com; Mihutoiu, Marius (M.M.) mmihutoi@yahoo.com; Ghita, Nuta (N.G.) ng
hita@yahoo.com; Vais, Marcel (M.V.) mvais@yahoo.com; Dinuleasa, Marin-Catalin (M.D.) MDINULE
A@yahoo.com; Sutiman, Amado Laviniu (A.S.) asutiman@yahoo.com; Ruiu, Marius-Sorin (M. S.) mr
uiu@yahoo.com; Ivascu, Aurica (A. I.) aivascu@yahoo.com; Toma, Valter-Florian (V.T.) vtoma1@
yahoo.com; Siuinea, Ileana-Gabriela (I.S.) isiuinea@yahoo.com; Minca, Angelica Doina (A. D.)
aminca@yahoo.com; Till, Aurica-Marian (A.T.) atill2@yahoo.com; Fiera, Mariana (M.F.) mfiera@f
ord.com; Mozoc, Vasile (V.S.) vmozoc@yahoo.com; Tuca, Alexandru gabriel (A.T.) ATUCA@yahoo.c
om; Radu, Adrian (A.R.) aradu2@yahoo.com; Mihaescu, Victor (V.M.) vmihaesc@yahoo.com; Ghita, D
orin (D. A.) dghita@yahoo.com; Ardeleanu-Trusca, Daniel (D.A.) dardelea@yahoo.com; Marin, Ma
rius (M. G.) mmarin12@yahoo.com;

So every field is of form FirstName, LastName (M.C.) user@yahoo.com;
I want to display only user for all the users in the file

FILENAME="/home/ubuntu/user01.txt" 
while reading LINES
do
echo $LINES | awk -F "@" '{print $1}' | awk '{print $NF}'
done < $FILENAME

So finally, as an example, the script only displays mbaluta for the user Baluta, Mircea (M.C.) mbaluta@ford.com; and I would like to display it for everyone
Do you have any suggestions?

@dragu_stelian , welcome.

is that a file with 1 line or with X lines ?
please,use the markdown https://community.unix.com/t/markdown-cheat-sheet/390463

to edit and properly format your post.
please , also confirm your OS - name and version please.

thks

something along the following may be what you are after, no need for while loops ..., awk will implicitly read every record in the file 1 at a time - assuming its formatted as multiple lines - ending in semi-colon (in this instance)

NB: the file/record format is important !

Baluta, Mircea (M.C.) mbaluta@yahoo.com;
Ica, Victor Stefanita (V.I.) vica@yahoo.com;
Badea, Alexandra Nicoleta (A.B.) abadea6@yahoo.com>;
Paun, Wily Robert (W.C.) WPAUN1@yahoo.com;
Stoica, Bogdan (B.S.) BSTOICA1@yahoo.com;

#
# take the LAST FIELD (NF) , split it at the @ into a temp array 'name', 
# then print the first field of the name arrray ... repeat until done
#
awk '{split($NF,name,"@"); print name[1]}' input | head -5
mbaluta
vica
abadea6
WPAUN1
BSTOICA1

you could achieve same with the brilliant sed editor

sed 's/\(^.* \)\(.*\)@\(.*\)/\2/' input

as always, test,check,test,check-again .... repeat

I edited your initial post and put triple-backticks markdowns around code and input samples.
Please re-edit if I misplaced them...

In perl it looks most simple:

perl -lne 'print $1 while /(\S+)@/g' user01.txt

Catch the non-space string before each @ and print it.
This solution is independent of the real format.

Thank you for the answer !
I was still struggling with the combination of while loop and awk.
I will test and come back with an answer.