Sziasztok,
Van egy mail címeket tartalmazó file.
Szeretném awk-t használva - -gsub fügvénnyel vagy regex-el - kilistázni a username-t.
email.txt sorok minta:
freeroute@gmail.com
free34te@gmail.com
freetoyota@co.uk
Elvárt output:
freeroute
free34te
freetoyota
Sed-el sikerült, awk-val nem jutok előbbre:
sed -E 's/([A-Za-z0-9]+).*/\1/' email.txt or
sed -E 's/@.*//' email.txt
- 776 megtekintés
Hozzászólások
awk -F @ '{ print $1 }'
De a egegyszerubb:
cut -f1 -d@
- A hozzászóláshoz be kell jelentkezni
Köszönöm.
Engem kifejezetten az érdekel, hogy awk gsub-ot vagy regex-et használva megoldható?
- A hozzászóláshoz be kell jelentkezni
A gsub leginkább arról szól, hogy egy regexp-re illeszkedő sztringet kicserélj egy másik sztringre. Ha jól emlékszem.
- A hozzászóláshoz be kell jelentkezni
Igen. A kérdésem az akkor, hogy úgy mint a sed-nél, az első string lenne pl. a teljes mail cím. Ezt cserélném a username-re . Mint itt: sed -E 's/([A-Za-z0-9]+).*/\1/' email.txt
Vagy a másik megoldás, hogy az első string lenne a domain, ezt cserélném semmire. Mint itt: sed -E 's/@.*//' email.txt
Ez awk-val megoldható?
- A hozzászóláshoz be kell jelentkezni
Megvan. awk 'gsub("@.*", "") {print $0}' email.txt
- A hozzászóláshoz be kell jelentkezni